Mongoose:如何按值从数组中删除项目

时间:2018-04-24 07:38:38

标签: javascript node.js express mongoose

是否有方法使用Mongoose从数组中删除项目? 我在这个对象里面有一个数组:

  

"学生":[               " 5ad72254452996029415e49f&#34 ;,               " 5adaeb388acfc414d428820b"           ]

我想按照确定的值删除其中一个。 这是我的代码:

Company.findById(id_company, function(err, company) {
  var students = company.students; //students array
  // ...
  // ...
  // ...
});

学生是一个数组,我想通过ID更新并删除其中的一个数组元素。

1 个答案:

答案 0 :(得分:0)

是的,您必须对数组属性执行 $ pull

const deleteStudentStatement = {
    $pull: {students: studentId}
};

然后进行更新,例如:

return Company.findOneAndUpdate({ _id: companyId }, 
                                deleteStudentStatement, 
                                { new: true })
                     .then((company) => {
                           },
                           (err) => {
                           }
                     );