如何在位置0插入一个元素到数组中
本文关键字:一个 元素 数组 位置 插入 | 更新日期: 2023-09-27 18:12:24
我似乎无法找到一种方法来插入元素在Mongodb c#驱动程序的数组中的特定索引。-例如在位置0插入一个元素
在数组中唯一明显的插入操作是使用push操作,但它附加在数组的末尾。
我尝试了以下方法,但不成功。
var filter = Builders<ChatRoom>.Filter.Eq(Keys.MongoId, ObjectId.Parse(chatRoomId));
var update = Builders<ChatRoom>.Update.Set(Keys.Comments + ".$.-1", comment);
或
var update = Builders<ChatRoom>.Update.Push(Keys.Comments+".-1",comment);
但是它不起作用。此外,我似乎无法在Mongodb c#文档中找到$position操作符。-希望能有所帮助,如果它是相关的。
好,超级简单,在探索了驱动程序和Visual Studio智能感知的帮助后,这里是正确的答案:
var filter = Builders<ChatRoom>.Filter.Eq(Keys.MongoId, ObjectId.Parse(chatRoomId));
var update = Builders<ChatRoom>.Update.PushEach(Keys.Comments, new List<Comment>() { comment }, position: 0);
await MongoCollections.GetChatRoomCollection().UpdateOneAsync(filter, update);