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'});
其他回答
Docs是一个文档数组。所以它没有一个mongoosemmodel .remove()方法。
可以分别迭代和删除数组中的每个文档。
或者—因为看起来您是通过(可能)唯一的id查找文档—使用findOne而不是find。
mongodb .model.find()返回一个查询对象,该对象也有一个remove()函数。
如果你只想删除一个唯一的文档,你也可以使用mongoose.model.findOne()。
否则,您也可以遵循传统的方法,即首先检索文档,然后删除。
yourModelObj.findById(id, function (err, doc) {
if (err) {
// handle error
}
doc.remove(callback); //Removes the document
})
以下是在模型对象上您可以执行以下任何操作来删除文档的方法:
yourModelObj.findOneAndRemove(conditions, options, callback)
yourModelObj。findByIdAndRemove(id, options, callback)
yourModelObj。删除(条件,回调);
var query = Comment.remove({ _id: id });
query.exec();
Remove()已弃用。使用deleteOne(), deleteMany()或bulkWrite()。
我使用的代码
TeleBot.deleteMany({chatID: chatID}, function (err, _) {
if (err) {
return console.log(err);
}
});
更新:.remove()是贬值的,但这仍然适用于旧版本
YourSchema.remove({
foo: req.params.foo
}, function(err, _) {
if (err) return res.send(err)
res.json({
message: `deleted ${ req.params.foo }`
})
});
.remove()类似于.find():
MyModel.remove({search: criteria}, function() {
// removed.
});