0

У меня проблема.MongoDB удаление агрегированных ячеек

У меня есть набор документов, как это:

{ 
    id (not _id), 
    type, 
    number 
} 

И то, что я хочу сделать, это агрегированные клетки с определенным типом и минимальным числом для этого типа для каждого идентификатора и удалить их из этой коллекции. В принципе, один идентификатор может иметь несколько разных номеров для определенного типа, и я хочу удалить документ с наименьшим значением.

Я попытался объединить его с помощью Java Driver 3 и mongoshell, но я решил сконструировать его.

ответ

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