单个查询中的Mongodb更新和删除操作

时间:2018-06-26 05:30:01

标签: mongodb mongoose mongodb-query

我有一些文档,其中我想用该文档的一个成员更新hostUser,还必须从成员文档中删除记录,并在俱乐部筹码中添加已删除成员的筹码。

这是示例文档。

{
    "_id" : "1002",
    "hostUser" : "1111111111",
    "clubChips" : 10000,
    "requests" : {},
    "profile" : {
        "clubname" : "AAAAA",
        "image" : "0"
    },
    "tables" : [ 
        "SJCA3S0Wm"
    ],
    "isDeleted" : false,
    "members" : {
        "1111111111" : {
            "chips" : 0,
            "id" : "1111111111"
        },
        "2222222222" : {
            "chips" : 0,
            "id" : "2222222222"
        }
    }
}

这是我尝试过的。

db.getCollection('test').updateMany({"hostUser":"1111111111"},
{"$set":{"hostUser":"2222222222"},"$unset":{"members.1111111111":""}})

1 个答案:

答案 0 :(得分:0)

这是在一次对updateMany的调用中处理未设置和设置的方式。您能否说明“检查成员字段中是否存在值”是什么意思?

db.getCollection('test').updateMany(
    {"hostUser":"1111111111"},
    {
        '$set': {"hostUser":"2222222222"} ,
        '$unset': {"members.1111111111":""}
    }
)