MongoDB删除聚合的单元格

时间:2016-10-23 19:17:56

标签: mongodb aggregation-framework mongodb-java mongo-java-driver

我有一个问题。

我收集了这样的文件:

{
  id (not _id),
  type,
  number
}

我想要做的是为每个id聚合具有特定类型和最小数量的单元格,并从此集合中删除它们。基本上,单个id对于特定类型可以有很少的不同数字,我想删除具有最低值的Document。

我尝试使用Java Driver 3和mongoshell聚合它,但我坚持构建它。

1 个答案:

答案 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);