Как обновить элемент в массиве mongodb, который имеет вложенный json, используя mon go client kotlin - PullRequest
0 голосов
/ 21 июня 2020

Мы разрабатываем RestApi с использованием kotlin, а для базы данных мы используем mon go db, mon go коллекция имеет вложенный объект json, и мне нужно обновить элемент в массиве json, мы используем mon go клиент для подключения mon go.

Вложенный сбор у нас есть:

{
"candidateId" : "000000067876000000000000",
"fullName" : "ABC",
"dateOfBirth" : "1993-06-24T00:00:00.000Z",

"address" : {"lane1": "first Lane",
      "lane2" :"second lane"},
"member" : [{"Name": "XYZ",
    "relation" : "Brother" },{"Name": "WXYZ",
    "relation" : "sister"}]
}

И я использую для этого следующий код:

fun addMember(candidate: Candidate) = findOneAndUpdate(
        filter = "{_id: ${candidate.id.json}}",
        update = "{${MongoOperator.push}: {member: ${candidate.json}}}",
        options = FindOneAndUpdateOptions()
                .upsert(true)
                .returnDocument(ReturnDocument.AFTER))

Объект-кандидат похож на ниже, который я передаю в теле запроса на размещение через почтальона. Я также использовал "addToSet", установленный для pu sh.

{
"candidateId" : "000000067876000000000000",
"fullName" : "ABC", 
"member" : [{"Name": "XYZ",
             "relation" : "Brother" },
            {"Name": "WXYZ",
             "relation" : "Brother"}]
}

Я хочу обновить отношение WXYZ от сестры к брату, так как я могу это сделать, пожалуйста, помогите мне в этом ... .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...