是否emit()保证将所有相同的密钥发送到reduce功能?
例如,如果你有100万个文件,emit()每个文件一次,但只有10个可能的emit()密钥(均匀分布),减少功能会在一次通话中受到100k排放的影响吗?
或者mongo将这些分开并逐步减少结果?如果是这样,它如何决定发送到reduce的值?
相同键的所有emit()都将被发送到reduce函数,但它们不一定会立即发送到reduce函数(如果为特定键发出单个文档,则文档不会被传递给reduce函数).对于相同的键,可以多次调用Reduce,这就是为什么reduce函数的结果与map函数发出的文档的结构相匹配很重要的原因.
我将尝试找到有关mongo如何以及何时在将文档传递给reduce函数之前拆分文档的更多信息.
| 归档时间: |
|
| 查看次数: |
2433 次 |
| 最近记录: |