Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否emit()保证将同一键的所有 s 发送到 reduce 函数?
emit()
例如,如果您有 100 万个文档,emit()每个文档只有一次,但只有 10 个可能的emit()键(均匀分布),reduce 函数会在一次调用中被 100k 排放量猛烈抨击吗?
或者 mongo 会将这些拆分并逐渐减少结果?如果是这样,它如何决定向 reduce 发送多少值?
同一个键的所有 emit() 将被发送到 reduce 函数,但它们不一定会立即发送到 reduce 函数(如果为特定键发出单个文档,则该文档不会传递给reduce函数)。对于同一个键,Reduce 可能会被多次调用,这就是为什么 reduce 函数的结果必须与 map 函数发出的文档结构相匹配的原因。
我将尝试找出更多关于 mongo 在将文档传递给 reduce 函数之前如何以及何时拆分文档背后的逻辑的信息。