首页 文章

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

提问于
浏览
5

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

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

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

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

1 回答

  • 8

    您可以尝试以下方式:

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

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

相关问题