FBFriendModel.find({
id: 333
}, function (err, docs) {
docs.remove(); //Remove all the documents that match!
});
上面的方法似乎不管用。记录还在那里。
有人能修好吗?
FBFriendModel.find({
id: 333
}, function (err, docs) {
docs.remove(); //Remove all the documents that match!
});
上面的方法似乎不管用。记录还在那里。
有人能修好吗?
当前回答
根据Samyak Jain的回答,我使用异步等待
let isDelete = await MODEL_NAME.deleteMany({_id:'YOUR_ID', name:'YOUR_NAME'});
其他回答
db.collection.remove(<query>,
{
justOne: <boolean>,
writeConcern: <document>
})
你可以直接在remove函数中使用查询,这样:
FBFriendModel.remove({ id: 333}, function(err){});
如果你不喜欢迭代,那就试试
FBFriendModel.find({ id:333 }).remove( callback );
or
FBFriendModel.find({ id:333 }).remove().exec();
find返回一个Query,它有一个remove函数。
更新为Mongoose v5.5.3 - remove()现在已弃用。使用deleteOne(), deleteMany()或findOneAndDelete()代替。
更新:.remove()是贬值的,但这仍然适用于旧版本
YourSchema.remove({
foo: req.params.foo
}, function(err, _) {
if (err) return res.send(err)
res.json({
message: `deleted ${ req.params.foo }`
})
});
我更喜欢承诺符号,在这里你需要。
Model.findOneAndRemove({_id:id})
.then( doc => .... )