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

我尝试从p2l数组更新对象的status字段

 var update = Builders.Update.Set("p2l.$.status",BsonValue.Create(status)) 

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

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

您可以尝试以下方法:

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

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