Node.js (节点:15893)弃用警告:collection.remove已弃用。改用deleteOne、deleteMany或bulkWrite
我正在为RESTAPI开发一个后端。它使用MongoDB作为数据库。 我正在使用mongodb v:^5.3.3 我想根据API请求删除一组项目,但收到了上述错误消息:Node.js (节点:15893)弃用警告:collection.remove已弃用。改用deleteOne、deleteMany或bulkWrite,node.js,mongodb,Node.js,Mongodb,我正在为RESTAPI开发一个后端。它使用MongoDB作为数据库。 我正在使用mongodb v:^5.3.3 我想根据API请求删除一组项目,但收到了上述错误消息: DeprecationWarning: collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead 如何完全删除收藏?当我想删除某个特定收藏时,对我有效的方法是: mongoose.connection.dropCollect
DeprecationWarning: collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead
如何完全删除收藏?当我想删除某个特定收藏时,对我有效的方法是:
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'
相同,而不是:Model.remove({});
用法:Model.deleteMany({}) 相应地使用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);
});
});
错误是不言而喻的,只需使用上述方法中的一种,而不是remove()。您好,您可能收到否决票的一个原因是,在StackOverflow中,人们希望您指出到目前为止您尝试了什么,以及它是如何不起作用的,因此我们可以更好地了解您到底想要实现什么。我假设deleteOne、deleteMany或bulkWrite不适合您,或者您可能不理解它们?无论哪种方式,你都应该多解释一下你想完成什么,你迄今为止做了什么,以及为什么你认为没有成功。在他们的问题中,如果他们说删除一个集合表明他们确实想删除整个集合,那么“我想删除一组项目”。他们还使用复数“items”,表示不止一个项目,不是单个文档,而是多个文档。什么给你相反的印象?