我想使用MongoDB的MapReduce功能并访问大量数据。我正在使用
INLINE OutputType
MapReduceCommand cmd = new MapReduceCommand(dbCollection,
MapReduceTest.map,
MapReduceTest.reduce,
null,
MapReduceCommand.OutputType.INLINE,
query);
这在处理小数据集时工作正常,但是它可以用于处理高达16MB的数据,这对我来说是一个问题。
我想访问一组非常大的数据,但是我没有找到关于其他选项MERGE, REDUCE, REPLACE
的任何好的文档。
有谁知道这些差异?
答案 0 :(得分:1)
以下是官方文档中的文字:
replace - 替换具有collectionName的集合的内容。
merge - 如果输出集合已存在,则将新结果与现有结果合并。如果现有文档与新结果具有相同的密钥,则覆盖该现有文档。
reduce - 如果输出集合已存在,则将新结果与现有结果合并。如果现有文档与新结果具有相同的密钥,请将reduce函数应用于新文档和现有文档,并使用结果覆盖现有文档。
参考: http://docs.mongodb.org/manual/reference/command/mapReduce/#output-to-a-collection-with-an-action