1

在具有复杂功能的 Mongo 数据库中更新文档的最快方法是什么,比如字符串搜索/替换或sqrt计算?

由于缺少此类操作,例如 a $replace,因此无法使用update(这可能是最快的,因为在我的测试集合中,在大约 100k 个对象上设置一个字段只需要大约 50 毫秒)。

当我简单地遍历所有文档时,大约需要 45 秒。当我将查询限制在更新期间使用的字段时,它会变得更快一些。

这一次当然会在更大的集合上变得更大,因此问题是否存在比迭代集合更快的方法(例如,通过 map reduce 作业?)。

4

1 回答 1

0

不 :) 如果没有对此类功能的本机支持,您将陷入读取->修改->写入方法。也就是说,如果您可以在一台机器上将一个字段写入 100k 个对象,并且该机器在 50 毫秒内管理该字段,那么如果您必须读取、修改和编写这些相同的文档,那么该过程不应花费任何接近 45 秒的时间。您确定瓶颈是数据库而不是运行该通道的机器吗?您确定您正在适当地进行批处理而不是对每个文档进行更新吗?

于 2012-09-27T10:22:17.340 回答