-1
"tags" : ["MongoDB", "Map/Reduce", "Recipe"]

m = Code("function () {""  this.tags.forEach(function(z) {""    emit(z, 1);""  });""}")

r = Code("function (key, values) {var count = 0;for (var i = 0; i < values.length; i++) {count += values[i];}return count;}")

db.coll.map_reduce(m,r, out = "map_tags",query={"tags": {"$ne": ''},"organization":orgid},safe=True)

我可以通过上面的代码得到正确的结果,但我需要替代解决方案。因为map_reduce在我的数据库中创建更多集合。

4

1 回答 1

0

如果您不希望保留 map-reduce 的结果,请使用inline_map_reduce而不是map_reduce

results = db.coll._inline_map_reduce(m, r, query={"tags": {"$ne": ''}, "organization":orgid}, safe=True)

请注意,只有当您的结果集符合单个文档的 16MB 限制时,您才能使用此方法。

于 2012-07-24T13:38:37.300 回答