MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Групово агрегиране с помощта на пролетни данни mongodb

По същество търсите extractYear() което съответства на $year оператор с MongoDB:

Aggregation aggregation = Aggregation.newAggregation(
    Aggregation.match(new Criteria().andOperator(criteria())),
    Aggregation.project().and("invoiceDate").extractYear().as("_id"),
    Aggregation.group("_id"),
    Aggregation.sort(Sort.Direction.DESC, "_id)
)

Това обикновено трябва да влезе в $project за да зарадвате помощниците.

Ако наистина искате изразът в $group тогава можете да добавите персонализиран израз за операция:

Aggregation aggregation = Aggregation.newAggregation(
  Aggregation.match(new Criteria().andOperator(criteria())),
  new AggregationOperation() {
    @Override
    public Document toDocument(AggregationOperationContext aggregationOperationContext) {
      return new Document("$group",
        new Document("_id", new Document("$year","$invoiceDate") )
      );
    }
  },
  Aggregation.sort(Sort.Direction.DESC, "_id)
)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Трябва ли да използвам Java String Pool за синхронизация въз основа на уникален клиентски идентификатор?

  2. Възможно ли е изравняване на заявката за резултат на MongoDB?

  3. Автоматично премахване на препращащи обекти при изтриване в MongoDB

  4. Как мога да изпълнявам команди на MongoDB чрез запитване до специалната колекция $cmd?

  5. как да извика операция за броене след намиране с mongodb java драйвер