我有这样多的MongoDB文件:
{
"_id":"abcde",
"Students":[
{"Name":"John","IsNew":true},
{"Name":"Steve","IsNew":true}
],
}
{
"_id":"fghij",
"Students":[
{"Name":"Ron","IsNew":true},
{"Name":"Mike","IsNew":true}
],
}
如何更新IsNew
场为false,所有学生使用C#驱动每个文档?
您可以从与UpdateMany
操作MongoDB的C#驱动程序中使用positional 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
阵列存在于所有正在更新的文件