Mongoose deleteMany 在 nodejs 上使用 _id
Posted
技术标签:
【中文标题】Mongoose deleteMany 在 nodejs 上使用 _id【英文标题】:Mongoose deleteMany using _id on nodejs 【发布时间】:2022-01-20 16:47:58 【问题描述】:我有一个数组 ['123','456', '789'] 的 id。我想在 mongodb 中删除所有这些数组
我如何使用它:
ScheduleModel.deleteOne( _id: ['123','456', '789'] );
这不起作用,因为这不是对象 ID
我需要什么:
ScheduleModel.deleteOne( _id: [ObjectId('123'), ObjectId('456'), ObjectId('789')] );
如何在数组数据中添加对象 ID。任何如何解决这个问题。我需要一个解决方案。
【问题讨论】:
这能回答你的问题吗? Mongoose - remove multiple documents in one function call 【参考方案1】:这与ObjectId
无关。您使用了错误的语法。您必须使用$in
声明
ScheduleModel.deleteMany( id: $in: ['123','456','789'] );
【讨论】:
【参考方案2】:使用正确语法的deleteMany。当有很多objectId
时使用$in
。
试试这个:
var deleteCondition =
_id :
//In Array you can pass your objectId
$in : ['123','456','789']
//You can pass other conditions
//deleteMany
ScheduleModel.deleteMany(deleteCondition, function (err, res)
if (res) console.log(res)
)
【讨论】:
以上是关于Mongoose deleteMany 在 nodejs 上使用 _id的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 deleteMany() 从 mongoDB 中删除所有文档?