我想使用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