MongoDB的Map Reduce OutputType之间的差异

时间:2014-05-07 14:44:56

标签: java mongodb mapreduce output

我想使用MongoDB的MapReduce功能并访问大量数据。我正在使用

INLINE OutputType
    MapReduceCommand cmd = new MapReduceCommand(dbCollection, 
                MapReduceTest.map, 
                MapReduceTest.reduce, 
                null, 
                MapReduceCommand.OutputType.INLINE, 
                query);   

这在处理小数据集时工作正常,但是它可以用于处理高达16MB的数据,这对我来说是一个问题。 我想访问一组非常大的数据,但是我没有找到关于其他选项MERGE, REDUCE, REPLACE的任何好的文档。 有谁知道这些差异?

1 个答案:

答案 0 :(得分:1)

以下是官方文档中的文字:

  

replace - 替换具有collectionName的集合的内容。

     

merge - 如果输出集合已存在,则将新结果与现有结果合并。如果现有文档与新结果具有相同的密钥,则覆盖该现有文档。

     

reduce - 如果输出集合已存在,则将新结果与现有结果合并。如果现有文档与新结果具有相同的密钥,请将reduce函数应用于新文档和现有文档,并使用结果覆盖现有文档。

参考: http://docs.mongodb.org/manual/reference/command/mapReduce/#output-to-a-collection-with-an-action