考虑以下代码片段-
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变量中获得我期望的结果。我相信我正在运行的MapReduce查询的实际语义没有问题。
但是我需要将此结果存储到临时集合“ cookiesMapReduced”中,但驱动程序似乎并未在创建该集合吗?从Spring文档中看来,我似乎已经进行了所有设置,以将结果写入集合中,而不是“内联”({out: {inline : 1}}
)
我缺少的MapReduceOptions中有东西吗?我也尝试设置outputDatabase,但是根据documentation's example我需要设置的全部是outputCollection
答案 0 :(得分:0)
事实证明,未创建的集合是Spring-data Mongo 2.0.8中的错误。它在2.0.10中已修复,现在将处理MapReduceOptions对象。
有关更多信息,您可以在https://jira.spring.io/上签出DATAMONGO-2027