为了账号安全,请及时绑定邮箱和手机立即绑定

更新字段不存在的 MongoDB 集合

更新字段不存在的 MongoDB 集合

C#
人到中年有点甜 2023-04-29 15:40:15
我想更新不包含特定字段的集合中的每条记录。以下查询使用 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

}


查看完整回答
反对 回复 2023-04-29
  • 1 回答
  • 0 关注
  • 196 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号