我有一个问题。
我收集了这样的文件:
{
id (not _id),
type,
number
}
我想要做的是为每个id聚合具有特定类型和最小数量的单元格,并从此集合中删除它们。基本上,单个id对于特定类型可以有很少的不同数字,我想删除具有最低值的Document。
我尝试使用Java Driver 3和mongoshell聚合它,但我坚持构建它。
答案 0 :(得分:0)
您可以参考类似的内容
List<DBObject> pipeline=new ArrayList<DBObject>();
DBObject match = new BasicDBObject("$match", new BasicDBObject("date", sdf.format(new Date())).append("country", country).append("operator", operator).append("server_ip", server_ip));
DBObject unwind = new BasicDBObject("$unwind", "$details");
DBObject match2 = new BasicDBObject("$match", new BasicDBObject("details.type", "application_health"));
DBObject sort = new BasicDBObject("$sort", new BasicDBObject("details.datetime", -1));
DBObject limit = new BasicDBObject("$limit", 1);
pipeline.add(match);
pipeline.add(unwind);
pipeline.add(match2);
pipeline.add(sort);
pipeline.add(limit);
AggregationOutput outputoutput = collection.aggregate(pipeline);