Mongodb операции обновления и удаления в одном запросе - PullRequest
0 голосов
/ 26 июня 2018

У меня есть документы, в которых я хотел бы обновить 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 голосов
/ 03 июля 2018

Это то, как вы будете обрабатывать unset и устанавливать в один вызов updateMany.Не могли бы вы уточнить, что вы имели в виду под «проверкой наличия значений в поле члена»?

db.getCollection('test').updateMany(
    {"hostUser":"1111111111"},
    {
        '$set': {"hostUser":"2222222222"} ,
        '$unset': {"members.1111111111":""}
    }
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...