所以我使用 mongo 映射化,有时,但并非总是如此,我的 reduce 数组的第一个元素是一个 bson 对象,里面有另一个 reduce 数组。我处理它的方式是将该数组与外部数组结果相结合。
我不明白为什么会发生这种情况,也找不到任何文档。谁能指出我正确的方向,这样我就可以确定我正在正确处理这个问题?
http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-ReduceFunction 有你的答案(但你必须仔细阅读)。 请参阅引用的部分:
"请注意,结果文档与 map 函数发出的文档具有相同的结构。这很重要,因为当针对给定键运行reduce函数时,不能保证处理该键(或用户名)的每个值。事实上,reduce函数可能必须运行不止一次。
基本上,reduce不会在每个"键"上"一次"运行,而是可以"增量"调用以处理具有已处理结果的新结果。