繁体   English   中英

使用 MongoDB C# 驱动程序更新列表中的字段

[英]Update field inside the list using MongoDB C# driver

我有多个像这样的 MongoDB 文档:

{
    "_id":"abcde",
    "Students":[
        {"Name":"John","IsNew":true},
        {"Name":"Steve","IsNew":true}
    ],
}

{
    "_id":"fghij",
    "Students":[
        {"Name":"Ron","IsNew":true},
        {"Name":"Mike","IsNew":true}
    ],
}

如何使用 C# 驱动程序将每个文档的所有学生的IsNew字段更新为 false?

您可以将 MongoDB C# 驱动程序中的UpdateMany方法与位置 all运算符一起使用:

var filter = Builders<YourModel>.Filter.Exists(x => x.Students);

FieldDefinition<YourModel, bool> field = "Students.$[].IsNew";
var update = Builders<YourModel>.Update.Set(field, false);

Col.UpdateMany(filter, update);

编辑:您可以使用.Exists()作为过滤器来确保Students数组存在于所有正在更新的文档中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM