C# Mongodb 驱动程序 - 如何将元素插入数组的位置 0

C# Mongodb Driver - How to insert an element into an array at position 0

我似乎找不到在 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);