繁体   English   中英

猫鼬:如何从值中删除数组中的项

[英]Mongoose : How to remove item from array by value

有没有一种方法可以用Mongoose从数组中删除项目? 我有这样的对象内部数组:

“学生”:[“ 5ad72254452996029415e49f”,“ 5adaeb388acfc414d428820b”]

我想通过确定的值删除其中之一。 这是我的代码:

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

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

是的,您必须在array属性上执行$ pull

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

然后进行更新,例如:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM