sql >> Database >  >> NoSQL >> MongoDB

Hoe mongodb $group in Java te gebruiken?

U moet een aggregatieraamwerk gebruiken. Importeer statisch alle methoden van helperklassen en gebruik de onderstaande code.

Gebruik van BasicDBObject is niet vereist in de nieuwere 3.x driver-api. Gebruik de nieuwe klasse Document voor vergelijkbare behoeften.

import static com.mongodb.client.model.Accumulators.*;
import static com.mongodb.client.model.Aggregates.*;
import static java.util.Arrays.asList;
import static com.mongodb.client.model.Filters.*;
import static com.mongodb.client.model.Projections.*;

Bson match = match(and(ne("DOCRANK", 0), ne("TAB", "People-Tab")));
Bson group = group("$USERID", first("USERID", "$USERID"), first("DOCID", "$DOCID"), first("DOCRANK", "$DOCRANK"), first("QUERYTEXT", "$QUERYTEXT"));
Bson projection = project(fields(include("USERID", "DOCID", "DOCRANK", "QUERYTEXT"), excludeId()));
MongoCursor<Document> cursor = collection.aggregate(asList(match, group, projection)).iterator();

Projectiefase is optioneel, alleen toegevoegd om een ​​volledig voorbeeld te geven.

Meer over aggregatie vindt u hier https://docs.mongodb.com/manual/reference/ operator/aggregatie/




  1. Beste manier om afbeeldingen op te slaan in de MERN-stack-webtoepassing

  2. Hoe kan ik aggregatie schrijven zonder de maximale documentgrootte te overschrijden?

  3. GET req.query.name niet naar collection.find in express en MongoDB

  4. Hoe Mongo-query te versnellen?