更新数组mongodb c#driver中的字段

时间:2015-08-04 09:00:18

标签: c# arrays mongodb mongodb-.net-driver mongodb-csharp-2.0

我尝试从status数组

更新对象的p2l字段
var update = Builders<BsonDocument>.Update.Set("p2l.$.status",BsonValue.Create(status))

似乎代码可以正常工作,但是如何使用typed builder实现它并使用lambda设置所有字段? 我通过以下链接找到了解决方案 How to update a field in an array's subdocument contained in an array's subdocument in MongoDB using C# driver?

但它仅适用于旧版本的驱动程序。

1 个答案:

答案 0 :(得分:8)

您可以尝试以下内容:

Builders<Person>.Update.Set(x => x.Pets[-1].Name, "Fluffencutters")

注意Pets集合上的 -1 索引,即为所有元素应用集合 我通过探索UpdateDefinitionBuilderTests找到了这个解决方案。