(节点:15893)弃用警告:不推荐使用 collection.remove。改用 deleteOne、deleteMany 或 bulkWrite

Rag*_*nda 2 mongodb node.js

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

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

DeprecationWarning: collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead
Run Code Online (Sandbox Code Playgroud)

如何完全删除集合?

小智 12

而不是: Model.remove({}); 使用:Model.deleteMany({});


Zar*_*old 1

当我想删除特定集合时,对我有用的是:

mongoose.connection.dropCollection(specificCollection.name)
// or you could use the collection's name exactly such as 'user'
Run Code Online (Sandbox Code Playgroud)

mongoose.connection.dropCollection()方法采用您在创建架构时可能定义的集合的确切名称。

您在代码中某处定义的特定模型可能类似于:

mongoose.model('User', UserSchema)
Run Code Online (Sandbox Code Playgroud)

请注意,它不区分大小写,'User'与 相同'user'