使用猫鼬从不同文档ID中的数组中删除条目

时间:2019-04-16 10:41:19

标签: node.js mongodb mongoose

我有一个这样的项目架构

const projectSchema = new mongoose.Schema({
 name: {
type: String,
required: true,
minlength: 2,
maxlength: 50
},
box: { 
type: [String],
required: false,
minlength: 0,
maxlength: 255
},

isActive: Boolean
});

我需要从其他文档中删除olibox的条目

例如:

如果我有4个不同的projectSchema ID,并且我想从这4个projectSchemas中删除2个特定的olibox ID,那么我该如何加点呢?

对于一个文档,我这样做是为了删除一个数组元素。

project= await Project.findByIdAndUpdate(req.project._id,{$pull :  {'box': req.params.oliId}},{new :true});


console.log("In post"); 

我可以以某种方式使用$in吗?

1 个答案:

答案 0 :(得分:0)

尝试看看是否可行。我希望能做到。

Project.updateMany(
  {
    _id: { $in: ['xxxxxxxxxxxxxxxxxxxxxxx', 'xxxxxxxxxxxxxxxxxxxxxxx'] }
  },
  { $pull: { box: { $in: [8025, 7323] } } }
);