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

Vla*_*dak 5 c# arrays mongodb mongodb-csharp-2.0 mongodb-.net-driver

我尝试statusp2l数组更新对象的字段

var update = Builders<BsonDocument>.Update.Set("p2l.$.status",BsonValue.Create(status))
Run Code Online (Sandbox Code Playgroud)

似乎代码可以正常工作,但如何使用类型化构建器实现它并使用lambda设置所有字段?我通过以下链接找到了解决方案 如何使用C#驱动程序更新MongoDB中数组子文档中包含的数组子文档中的字段?

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

Fir*_*zar 8

您可以尝试以下方式:

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

注意-1 Pets上的索引,表示为所有元素应用set.
我通过探索UpdateDefinitionBuilderTests找到了这个解决方案.