// First $group operation DBObject compoundId = new BasicDBObject( "state", "$state"); compoundId.append("city", "$city") DBObject groupFields1 = new BasicDBObject( "_id", compoundId ); groupFields1.put("pop", new BasicDBObject( "$sum", "$pop")); DBObject group1 = new BasicDBObject("$group", groupFields1); // Second $group operation DBObject groupFields2 = new BasicDBObject( "_id", "$_id.state"); groupFields2.put("avgCityPop", new BasicDBObject( "$avg", "$pop")); DBObject group2 = new BasicDBObject("$group", groupFields2); // Run aggregation AggregationOutput output = collection.aggregate( group1, group2 );
... DBObject selectQuery = new BasicDBObject("userEmail", rest.getEmailUser()); selectQuery.append("reservations.idRest", rest.getId()); BasicDBObject updateFields = new BasicDBObject(); updateFields.put("reservations.$.idRest", rest.getEmailUser()); updateFields.put("reservations.$.userPhone", rest.getPhoneUser()); updateFields.put("reservations.$.date", rest.getFecha()); updateFields.put("reservations.$.hour", rest.getHora());; DBObject updateQuery = new BasicDBObject(); updateQuery.put("$set", updateFields); collReservationByUser.update(selectQuery, updateQuery, true, true); ...
object.append("date", now); eachObjectList.add(object);