在我能找到的所有MongoDB MapReduce示例中,输出的格式如下:
{ "_id" : ..., "value" : { "v1" : ..., "v2" : ..., "vn" : ... } }
我想知道是否可以编写MapReduce命令来改为输出格式如下:
{ "_id" : ..., "v1" : ..., "v2" : ..., "vn" : ... }
如果是这样,最好的方法是什么?
答案 0 :(得分:1)
由于MR实际写出的方式,这是不可能的。
它写出一个值字段,同样的规则适用于此问题:In MongoDB mapreduce, how can I flatten the values object?。为了避免您在此处点击两个链接,您可以使用JIRA来实现您的功能:https://jira.mongodb.org/browse/SERVER-2517
当然你总是可以在MR之后运行一些后处理函数来改变集合的外观,但这通常是不可行的,而且很慢的方法可以在查询中轻松处理。