Я хочу обновить вложенные _ids для всей коллекции, ЕСЛИ они имеют строку типа.
Если у меня есть объект, который выглядит следующим образом ...
user : {
_id: ObjectId('234wer234wer234wer'),
occupation: 'Reader',
books_read: [
{
title: "Best book ever",
_id: "123qwe234wer345ert456rty"
},
{
title: "Worst book ever",
_id: "223qwe234wer345ert456rty"
},
{
title: "A Tail of Two Cities",
_id: ObjectId("323qwe234wer345ert456rty")
}
]
}
и я хочуизменить тип _Ids со строки на ObjectId
как бы я это сделал .??
Я делал "это" в прошлом ... Но это работает на NON-вложенный элемент - мне нужно изменить вложенное значение
db.getCollection('users')
.find({
$or: [
{occupation:{$exists:false}},
{occupation:{$eq:null}}
]
})
.forEach(function (record) {
record.occupation = 'Reader';
db.users.save(record);
});
Любая помощь - я стараюсь избегать написания серии циклов на сервере приложений для выполнения вызовов db - поэтому я надеюсь на что-то прямо в 'монго '