小编典典

MongoDB,从数组中删除对象

javascript

文件:

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

有没有办法从数组中提取特定对象?IE如何从项数组中提取ID为23的整个项对象。

我努力了:

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

但是我很确定我没有正确使用’pull’。据我了解,pull将从数组中拉出字段,而不是对象。

关于如何将整个对象从数组中拉出的任何想法。

另外,我尝试在mongoose / nodejs中执行此操作,也不确定这种类型的内容是否在mongoose API中,但我找不到它。


阅读 363

收藏
2020-04-25

共1个答案

小编典典

尝试..

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