У меня есть коллекция с именем "users", в которой есть массив с именем "companies".Это означает, что каждый «пользователь» может иметь одну или несколько «компаний».Один документ выглядит следующим образом.
{
"_id" : ObjectId("5b0b5aed0902a519d0440b37"),
"email" : "mario@example.com",
"name" : "Mario",
"last_name" : "Perez",
"companies" : [
{
"id" : "5b0b456bf7a87830b4d20058",
"name" : "COMPANY A"
},
{
"id" : "5b0b755b576ac70014ad441c",
"name" : "COMPANY B"
}
]
}
Я хочу преобразовать все companies.id (строку) в ObjectId.
Итак, я сделал это обновление, но оно на самом деле не работает.Я думаю, что есть проблема с тем, как я пытаюсь преобразовать строку (companies.id) в ObjectId.
db.getCollection('users').update({ "_id": ObjectId("5b0b5aed0902a519d0440b37") }, {$set: {"companies.$[].id": ObjectId("companies.$[].id")}}, {multi: true})
Буду признателен, если вы поможете мне.