Мы разрабатываем 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 от сестры к брату, так как я могу это сделать, пожалуйста, помогите мне в этом ... .