【发布时间】:2018-07-07 12:09:06
【问题描述】:
执行以下聚合管道:
public void getMostLikedItems () {
UnwindOperation unwind = Aggregation.unwind("favoriteItems");
GroupOperation group = Aggregation.group("favoriteItems").count().as("likes");
SortOperation sort = Aggregation.sort(Sort.Direction.DESC, "likes");
Aggregation aggregation = newAggregation(unwind, group, sort);
DBObject result = mongoTemplate.aggregate(aggregation, "users", LikedItem.class).getRawResults();
}
抛出以下异常:
com.mongodb.MongoCommandException: Command failed with error 9: 'The 'cursor' option is required, except for aggregate with the explain argument' on server localhost:27017. The full response is { "ok" : 0.0, "errmsg" : "The 'cursor' option is required, except for aggregate with the explain argument", "code" : 9, "codeName" : "FailedToParse" }
我不明白这里的光标选项是什么意思。应该在哪里配置这个选项?
编辑这是一个示例用户文档
{
"_id": "5a6df13552f42a34dcca9aa6",
"username": "user1",
"password": "$2a$10$p0OXq5PPa41j1e4iPcGZHuWjoKJ983sieS/ovFI.cVX5Whwj21WYi",
"favoriteItems": [
{
"_id": "5a0c6b2dfd3eb67969316d6d",
"name": "item1",
"city": "Rabat"
},
{
"_id": "5a0c680afd3eb67969316d0b",
"name": "item2",
"city": "Rabat"
}
]
}
【问题讨论】:
-
你的 spring mongo jar 版本是什么?看看这个helps
-
@Veeram 我的版本是 3.4.3。我之前找到了该帖子,但我并没有完全得到解决方案。您能否通过基本示例或示例链接帮助我理解它?
-
我的意思是你的 spring mongo db jar 版本
-
我有 v1.5.9。对不起,我的坏事
标签: java spring mongodb spring-boot aggregation-framework