我想更新不包含特定字段的集合中的每条记录。以下查询使用 Mongo shell 工作,但我正在努力使用 .Net 中的 mongoDB.Driver 来编写它。db.Comments.update(
{ MemberRoleType: { $exists: false }},
{ $set: { MemberRoleType: 4 },
{ multi: true }
)我尝试了如下各种方法,但无法达到我正在寻找的结果:await comments.UpdateManyAsync(c => c.MemberRoleType == 0, Builders<Comment>.Update.Set(x => x.MemberRoleType, ContentRoleType.Online)));
1 回答
ITMISS
TA贡献1871条经验 获得超8个赞
我相信你正在寻找存在
Builders<Comments>.Filter.Exists(x => x.MemberRoleType, false);
你应该可以像这样使用它
var filter = Builders<Comments>.Filter.Exists(x => x.MemberRoleType, false);
await comments.UpdateManyAsync(filter, Builders<Comment>.Update.Set(x => x.MemberRoleType, ContentRoleType.Online)));
进而生成此查询
{
"q": {
"MemberRoleType": {
"$exists": false
}
},
"u": {
"$set": {
"MemberRoleType": 4
}
},
"multi": true
}
- 1 回答
- 0 关注
- 146 浏览
添加回答
举报
0/150
提交
取消