Var*_*ngh 6 performance updates mongodb mongodb-query
我是mongodb的新手,并希望在我的项目中实现拥有数百万条记录的mongodb.想知道我应该更喜欢更新-bulk.find.update()与update.collection以及multi = true的性能.
据我所知,最大的收获Bulk是:
对于批量的所有请求,批量操作仅向 MongoDB 发送一个请求。其他人为每个文档发送一个请求,或者仅发送来自insert, update, updateOne,操作 和upsert的一种操作类型。updateremove
Bulk 可以在代码页的不同行处理许多不同的情况。
批量操作可以异步工作。其他人则不能。
但今天有些操作bulk是基于工作的。例如insertMany。
如果考虑到上述增益,则update()必须显示与操作相同的性能结果bulk.find.update()。
因为update()只能将一个查询对象发送到 MongoDB。并且multi: true只是一个参数,指定必须更新所有匹配的文档。这意味着它只在网络上发出一个请求。就像Bulk运营一样。
因此,两者都只向 MongoDB 发送一个请求,MongoDB 会评估查询子句以查找要更新的文档,然后更新它们!
我曾尝试在 MongoDB 官方网站上找到这个问题的答案,但找不到。
所以,@AsyaKamsky 的解释会很棒!
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           898 次  |  
        
|   最近记录:  |