我正在为REST API开发后端。它使用MongoDB作为数据库。 我正在使用mongodb v:^ 5.3.3。
我想根据API请求删除项目集合,但是收到了以上错误消息:
DeprecationWarning: collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead
如何完全删除收藏集?
答案 0 :(得分:1)
代替:Model.remove({}); 用途:Model.deleteMany({});
答案 1 :(得分:0)
当我想删除特定收藏集时,对我有用的是:
mongoose.connection.dropCollection(specificCollection.name)
// or you could use the collection's name exactly such as 'user'
mongoose.connection.dropCollection()
方法使用您在创建架构时可能定义的集合的确切名称。
可能,您在代码中的某个位置定义的特定模型如下:
mongoose.model('User', UserSchema)
请注意,它不区分大小写,'User'
与'user'
相同。
答案 2 :(得分:0)
相应地使用deleteOne或deleteMany。 我使用了 deleteOne()而不是 remove()函数从mongodb集合的delete api中删除项目。它对我有用。
app.delete('/todo/:item', function(req, res){
Todo.find({item: req.params.item.replace(/\-/g, " ")}).deleteOne(function(err, data){
if(err) throw err;
res.json(data);
});
});