Doc:
{
_id: 5150a1199fac0e6910000002,
name: 'some name,
items: [{
id: 23,
name: 'item name 23'
},{
id: 24,
name: 'item name 24'
}]
}
Есть ли способ вытащить определенный объект из массива? И.Е. как я могу вытащить весь объект объекта с идентификатором 23 из массива items.
Я попытался:
db.mycollection.update({'_id': ObjectId("5150a1199fac0e6910000002")}, {$pull: {id: 23}});
Однако я уверен, что я не использую 'pull' правильно. Из того, что я понимаю, pull вытащит поле из массива, но не объект.
Любые идеи о том, как вытащить весь объект из массива.
В качестве бонуса я пытаюсь сделать это в mongoose / nodejs, также не уверен, что этот тип вещей находится в API мангуста, но я не смог его найти.
У меня есть документ вроде
Мне нужно удалить адрес из массива адресов
После поиска лотов в Интернете я нашел решение
[F1]используйте $ pull для удаления данных
return this.mobiledashboardModel
.update({"_id": args.dashboardId}, { $pull: {"viewData": { "_id": widgetId}}})
.exec()
.then(dashboardDoc => {
return {
result: dashboardDoc
}
});
Вы также можете попробовать:
db.getCollection('docs').update({ },{'$pull':{ 'items':{'id': 3 }}},{multi:true})