mongodb-java-driver组只支持一个字段吗? e.g。
group("$customerId", sum("totalQuantity", "$quantity"), avg("averageQuantity", "$quantity"))
如果组有多个字段,如何实现? e.g。
"_id":{platform:"$platform",screen_name:"$screen_name"}
我尝试了以下方式,但它不起作用
group("{platform:\"$platform\",screen_name:\"$screen_name\"}", sum("totalQuantity", "$quantity")
那么如何在mongodb-java-driver中支持多个组字段?
答案 0 :(得分:0)
BasicDBObject group1 = new BasicDBObject("$year","$purchase_data");
BasicDBObject group2 = new BasicDBObject("$month","$purchase_data");
orders_Collection.aggregate(Arrays.asList(
match(gt("purchase_data",new Date("2017/01/01"))),
group(Arrays.asList(group1,group2),sum("total","$sub_total"))
)).forEach(printBlock);
首先,您可以创建一个列表,以获取要进行“分组依据”的字段,然后执行其他操作,例如sum,avg,min,max .....
$year
是$purchase_data
的年份;
$month
是$purchase_data
的月份数。