我有一些文档,其中我想用该文档的一个成员更新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":""}})
答案 0 :(得分:0)
这是在一次对updateMany的调用中处理未设置和设置的方式。您能否说明“检查成员字段中是否存在值”是什么意思?
db.getCollection('test').updateMany(
{"hostUser":"1111111111"},
{
'$set': {"hostUser":"2222222222"} ,
'$unset': {"members.1111111111":""}
}
)