繁体   English   中英

这些 mongodb 查询中哪个更高效? for 循环与 deleteMany

[英]Which of these mongodb queries is more efficient? for loop vs deleteMany

对于具有 30+ 百万个文档的 mongodb 集合,最好:

1:像这样查询多次:

for (const _id of array) {

await Schema.deleteOne({ _id: _id })

}

2:使用$in一个查询:

await Schema.deleteMany({ _id: { $in: array } })

由于 for 循环需要与数据库的多个连接,因此使用deleteMany是一种更好的方法。

deleteOne进入Mongo 文档时,它说:

要删除多个文档,请参阅 db.collection.deleteMany()

此外,对于小型数据库, for循环的性能可能还不错,但是对于大量数据,这不是一个好主意,因为您多次调用数据库。 并且还使用await它会停止执行,因此效率不高。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM