c# - 使用 MongoDB C# 驱动程序更新列表中的字段
问题描述
我有多个这样的 MongoDB 文档:
{
"_id":"abcde",
"Students":[
{"Name":"John","IsNew":true},
{"Name":"Steve","IsNew":true}
],
}
{
"_id":"fghij",
"Students":[
{"Name":"Ron","IsNew":true},
{"Name":"Mike","IsNew":true}
],
}
如何IsNew
使用 C# 驱动程序将所有学生的每个文档的字段更新为 false?
解决方案
您可以将UpdateMany
MongoDB C# 驱动程序中的方法与位置 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
数组存在于所有正在更新的文档中
推荐阅读
- python - 使用 KivyMD python 的滚动视图中的字典列表
- python - 如何使用带有交叉熵损失的 one-hot 编码?
- java - Java ProcessBuilder 持有子进程
- reactjs - Antd库:尝试渲染图像时如何处理?
- r - 输出对象的类别因输入数据不同而不同
- css - Bootstrap CSS - 关于调整大小的第 2 列下的第 3 列
- php - 为 Codeigniter 4 创建作曲家包
- dynamics-crm - Business Central 夫妇未同步 CRM 帐户 - Business Central 客户
- flutter - 在 Flutter 上的 TextField 上键入时滚动到顶部
- javascript - 想要为显示的日期列表添加删除功能