【发布时间】:2015-06-22 11:08:19
【问题描述】:
这是我用来在 sourceCollectionName 上运行 map reduce 并将输出到 targetCollectionName 的代码。但是永远不会创建 targetCollectionName。
new MongoClient("localhost").getDatabase(dbName).getCollection(sourceCollectionName)
.mapReduce(map, reduce)
.action(MapReduceAction.REPLACE)
.databaseName(dbName)
.collectionName(targetCollectionName)
.sharded(false);
虽然我能够得到MapReduceIterable 的输出,并且当我迭代它时,结果会按预期转储。这是正确的做法吗?
MapReduceIterable mapReduceIterable = new MongoClient("localhost").getDatabase(dbName).getCollection(sourceCollectionName)
.mapReduce(map, reduce)
.action(MapReduceAction.REPLACE)
.databaseName(dbName)
.collectionName(targetCollectionName)
.sharded(false);
for(Object o:mapReduceIterable){
//Just Iterating makes map reduce to dump output collection
}
【问题讨论】:
标签: mongodb mongodb-java