Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js (节点:15893)弃用警告:collection.remove已弃用。改用deleteOne、deleteMany或bulkWrite_Node.js_Mongodb - Fatal编程技术网

Node.js (节点:15893)弃用警告:collection.remove已弃用。改用deleteOne、deleteMany或bulkWrite

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

我正在为RESTAPI开发一个后端。它使用MongoDB作为数据库。 我正在使用mongodb v:^5.3.3

我想根据API请求删除一组项目,但收到了上述错误消息:

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”,表示不止一个项目,不是单个文档,而是多个文档。什么给你相反的印象?