MongoDB的Map Reduce OutputType之间的差异



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

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

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

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

replace -如果集合中存在collectionName,则替换集合中的内容。

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

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

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

相关内容

  • 没有找到相关文章

最新更新