[英]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.