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!
});
上面的方法似乎不管用。记录还在那里。
有人能修好吗?
当前回答
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();
其他回答
Docs是一个文档数组。所以它没有一个mongoosemmodel .remove()方法。
可以分别迭代和删除数组中的每个文档。
或者—因为看起来您是通过(可能)唯一的id查找文档—使用findOne而不是find。
简单的做
FBFriendModel.remove().exec();
这招对我很管用,试试这个:
const id = req.params.id;
YourSchema
.remove({_id: id})
.exec()
.then(result => {
res.status(200).json({
message: 'deleted',
request: {
type: 'POST',
url: 'http://localhost:3000/yourroutes/'
}
})
})
.catch(err => {
res.status(500).json({
error: err
})
});
更新:.remove()是贬值的,但这仍然适用于旧版本
YourSchema.remove({
foo: req.params.foo
}, function(err, _) {
if (err) return res.send(err)
res.json({
message: `deleted ${ req.params.foo }`
})
});
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();