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

更新字段不存在的 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 关注
  • 146 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信