【发布时间】:2018-02-06 15:35:35
【问题描述】:
我很难将 MongoDB 聚合查询转换为 Java。我能够在 Mongo shell 中得到结果,但在 Java 中却没有……
db.intentAnalysisPojo.aggregate(
{"$match": { "threadId": "f5683604-9fc8-40dd-9b7b-a1ef8e3bdb02"} },
{ "$group": {
"_id":"$question",
"answer": { "$first": "$answer" },
"intent": { "$first": "$intent" },
"wdsAns1":{"$first": "$wdsAns1"},
"wdsAns2":{"$first": "$wdsAns2"},
"wdsAns3":{"$first": "$wdsAns3"},
}},
{ "$sort" : { "intent" : 1}}
);
我尝试了这段 Java 代码,但它不工作......
Document firstGroup = new Document("$group",
new Document("_id", "$question")
.append("$first", "$answer")
.append("$first", "$intent")
.append("$first", "$wdsAns1")
.append("$first", "$wdsAns2")
.append("$first", "$wdsAns3"));
AggregationOperation match = Aggregation.match(Criteria.where("threadId").is(uuid));
AggregationOperation group = Aggregation.group(firstGroup.toJson());
AggregationOperation sort = Aggregation.sort(Sort.Direction.ASC, "intent");
谢谢
【问题讨论】:
标签: java mongodb mongodb-query aggregation-framework mongodb-java