我在理解C#的新mongoDB驱动程序时遇到了麻烦。在数据库中,我有数组的集合(comments:[])。现在,我想更新(推送)新注释到数据库,但没有成功。我尝试了各种代码,有些已经过时了。我尝试使用的最后一个是:
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);
但是&#34; FindOneAndUpdateAsync&#34;中存在错误。难道我做错了什么?我将不胜感激任何帮助。
答案 0 :(得分:0)
答案 1 :(得分:0)
我认为问题在于您使用的是BsonDocument
类型的集合,但您的过滤器和更新定义属于PostInfo
类型。
如果您将集合访问者更改为此,是否有效?
var collection = mongoDbServer.GetCollection<PostInfo>("post");
否则,您的更新代码对我来说是正确的。