MongoDB, удалять объект из массива

Doc:

{ _id: 5150a1199fac0e6910000002, name: 'some name, items: [{ id: 23, name: 'item name 23' },{ id: 24, name: 'item name 24' }] } 

Есть ли способ вытащить определенный объект из массива? IE Как я могу вытащить весь объект объекта с идентификатором 23 из массива элементов.

Я пытался:

 db.mycollection.update({'_id': ObjectId("5150a1199fac0e6910000002")}, {$pull: {id: 23}}); 

Однако я уверен, что я не правильно использую «pull». Из того, что я понимаю, pull вытащит поле из массива, но не объект.

Любые идеи, как вытащить весь объект из массива.

В качестве бонуса я пытаюсь сделать это в mongoose / nodejs, а также не уверен, что этот тип вещей находится в API мангуста, но я не смог его найти.

пытаться..

 db.mycollection.update( {'_id': ObjectId("5150a1199fac0e6910000002")}, { $pull: { "items" : { id: 23 } } }, false, true ); 

У меня есть документ вроде

введите описание изображения здесь

Мне нужно удалить адрес из массива адресов

После поиска лотов в Интернете я нашел решение

 Customer.findOneAndUpdate(query, {$pull: {address: addressId}}, function(err, data){ if(err) { return res.status(500).json({'error' : 'error in deleting address'}); } res.json(data); }); 
 my database:-> { "_id" : ObjectId("5806056dce046557874d3ab18"), "data" : [ { "id" : 1 }, { "id" : 2 }, { "id" : 3 } ] } MY QUERY:-> db.getCollection('play_table').update({},{$pull:{"data":{"id":3}}},{multi:true} OutPut:-> { "_id" : ObjectId("5806056dce046557874d3ab18"), "data" : [ { "id" : 1 }, { "id" : 2 } ] } 

Используйте $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}) 
  • дочерний процесс node.js - разница между spawn & fork
  • Связь между двумя различными процессами в Node.js
  • Имя поля batchSize игнорируется в полевой проекции
  • В какой области переменные модуля хранятся в node.js?
  • Как сделать кодировку Base64 в node.js?
  • Сценарий и аргументы оболочки Node.js
  • nodejs httprequest с данными - получение ошибки getaddrinfo ENOENT
  • Как получить обратный вызов для MongoDB collection.find ()
  • Почему вы не можете изменять данные, возвращаемые Mongoose Query (например: findById)
  • Как получить все зарегистрированные маршруты в Express?
  • как создать неблокирующую асинхронную функцию в node.js?
  • Давайте будем гением компьютера.