$ pull从对象数组中删除所有内容

时间:2019-01-28 12:33:05

标签: express mongoose pull

我正在使用$ pull从嵌套子文档中删除项目,但是如果我想从Array中删除一项,它将从Array中删除所有项目

我在做什么错了?

我在这里使用ExpressJS执行$ pull:

getController.deleteRec = function(req,res,collection){
  var id = req.params.id;
  console.log(id);
  collection.updateOne({'subitem.messages._id': id}, {$pull: {'subitem.$.messages': {"subitem.$.messages": id}}}).
    then(function(result){
      console.log(result);
    });
};

1 个答案:

答案 0 :(得分:0)

尝试像这样拉:

{ 
  $pull: {'subitem.messages: {'_id': id}}
}

假设“ subitem.messages”是您要从中提取具有{_id:id}的元素的数组。