【发布时间】:2015-10-15 03:38:58
【问题描述】:
我很难弄清楚如何为以下聚合查询编写 spring 数据实现。我的问题的一些背景可以找到here
db.asset.aggregate([{$unwind:"$folderIds"}, {$group:{_id: "$folderIds",assets:{$push: {assets_id:"$_id",display_name:"$displayName"}}}}])
到目前为止,我已经得到了下面的代码
AggregationOperation unwind = Aggregation.unwind("folderIds");
AggregationOperation groupFolderIds = Aggregation.group("folderIds")
.push(new BasicDBObject().put("assetId", "$_id")).as("assets");
Aggregation aggregation = Aggregation.newAggregation(unwind, groupFolderIds);
AggregationResults<Map> results = mongoTemplate.aggregate(aggregation, "asset", Map.class);
我知道必须修复 .push() 的参数,但我不知道如何修复。我想从结果中的资产文档中提取一些字段。帮助表示赞赏。谢谢。
【问题讨论】:
标签: java mongodb mongodb-query aggregation-framework spring-data-mongodb