sql >> Database >  >> NoSQL >> MongoDB

Groepsaggregatie met behulp van lentegegevens mongodb

Je zoekt eigenlijk naar extractYear() die verwijst naar de $year operator met 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)
)

Dit moet over het algemeen in een $project gaan om de helpers blij te maken.

Als je de uitdrukking echt wilt binnen de $group dan kunt u een aangepaste bewerkingsuitdrukking toevoegen:

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. Wat is het alternatief voor de elastische rivier-mongodb-plug-in, ondersteund door elasticsearch 2.2.0?

  2. NodeJS Knox Formidable resulteert in een 400, bestand niet geüpload naar S3-bucket

  3. Gegevens uploaden naar Meteor / Mongo DB

  4. Hoe maak je een website met een zoekbalk om een ​​mongo-database te doorzoeken?