如何从 C# 添加到 mongoDB(2.2.1) 数组

How to add to mongoDB(2.2.1) array from C#

我无法理解 C# 的新 mongoDB 驱动程序。在数据库中,我有带数组的集合(注释:[])。现在,我想更新(推送)新评论到数据库,但没有成功。我尝试了各种代码,有些已经过时了等等。我尝试使用的最后一个代码是:

var collection = mongoDbServer.GetCollection<BsonDocument>("post");
        var filter = Builders<PostInfo>.Filter.Eq(e => e._id, temp[0]);

        var update = Builders<PostInfo>.Update.Push<string>(e => e.Comments, temp[1]);
        await collection.FindOneAndUpdateAsync(filter, update);

但是"FindOneAndUpdateAsync"有错误。难道我做错了什么?如果有任何帮助,我将不胜感激。

我认为您是在尝试添加记录而不是更新记录,因此您应该使用 collection.InsertOneAsync(document) 方法。

请参阅此 link,其中介绍了一个示例。

希望这对您有所帮助..

我认为问题在于您使用的是 BsonDocument 类型的集合,但您的过滤器和更新定义是 PostInfo.

类型

如果您将集合访问器更改为此,它是否有效?

var collection = mongoDbServer.GetCollection<PostInfo>("post");

否则,我认为您的更新代码是正确的。