Spring-data Mongo 在 mapReduce 操作后未创建 outputCollection

Spring-data Mongo not creating outputCollection after mapReduce operation

考虑以下代码片段-

 MapReduceResult<CookiesResult> result = mongoTemplate.mapReduce(
                "cookies",
                cookieMapFn,
                cookieResultFn,
                new MapReduceOptions().outputCollection("cookiesMapReduced"),
                CookiesResult.class
);

return mongoTemplate.find(new Query(new Criteria("cookies").gte(5)),
                          CookiesResult.class, "cookiesMapReduced").iterator();

我能够运行这个MapReduce操作,甚至在result变量中得到我期望的结果。我相信我 运行ning.

的 MapReduce 查询的实际语义没有任何问题

但是我需要将此结果存储到临时集合中 "cookiesMapReduced" 但是驱动程序似乎没有创建集合?从 spring 文档看来我已经设置了所有内容以将结果写入集合而不是 "inline" ({out: {inline : 1}})

MapReduceOptions 中是否缺少某些内容?我也试过设置 outputDatabase 但根据 documentation's example 我需要设置的是 outputCollection

事实证明,未创建的集合是 Spring-data Mongo 2.0.8 中的错误。它在 2.0.10 中得到修复,现在将处理 MapReduceOptions 对象。

有关更多信息,您可以在 https://jira.spring.io/

上查看 DATAMONGO-2027