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
考虑以下代码片段-
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