MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Agregacja grupowa przy użyciu danych wiosennych mongodb

Zasadniczo szukasz extractYear() który mapuje do $year operator z 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)
)

Zwykle musi to przejść do $project aby uszczęśliwić pomocników.

Jeśli naprawdę potrzebujesz wyrażenia w $group następnie możesz dodać niestandardowe wyrażenie operacji:

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. Operacje wypychania i ustawiania w tej samej aktualizacji MongoDB

  2. Node.js + mangusta znajdź zawiesza węzeł, gdy ponad 100 wyników

  3. Jak wypchnąć do tablicy MongoDB za pomocą AngularJS?

  4. Wskazówki dotyczące aktualizacji do najnowszej wersji MongoDB

  5. MongoDB:wybór warunkowy z jednej kolekcji na podstawie innej kolekcji