我尝试从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?
但它仅适用于旧版本的驱动程序。
答案 0 :(得分:8)
您可以尝试以下内容:
Builders<Person>.Update.Set(x => x.Pets[-1].Name, "Fluffencutters")
注意Pets集合上的 -1 索引,即为所有元素应用集合 我通过探索UpdateDefinitionBuilderTests找到了这个解决方案。