1
我很難搞清楚如何爲下面的聚合查詢編寫彈簧數據實現。我的問題的一些背景,可以發現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(參數)必須固定,但我不不知道如何。我想從結果中的資產文檔中提取幾個字段。幫助表示讚賞。謝謝。
謝謝,這工作。你有沒有使用「類型」輸出類的例子?例如,如果我想使用AssetStats.java它應該如何看起來像? –
其實我想到如何使用「輸入」輸出。上面的java代碼中的最後一行應該如下所示:AggregationResults results = mongoTemplate.aggregate(aggregation,「asset」,AssetStats.class); –