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

Как да използвам mongodb $group в java?

Трябва да използвате рамка за агрегиране. Статично импортирайте всички методи на помощни класове и използвайте кода по-долу.

Използване на BasicDBObject не се изисква в по-новите 3.x api на драйвери. Трябва да използвате новия клас Document за подобни нужди.

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();

Прожекционният етап не е задължителен, добавя се само за да даде пълен пример.

Повече за агрегирането тук https://docs.mongodb.com/manual/reference/ оператор/агрегиране/




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB findOneAndUpdate()

  2. Какво се връща от заявка на Mongoose, която не намира съвпадения?

  3. Как Spring Data знае кой магазин да подкрепи хранилище, ако се използват множество модули?

  4. MongoDB Групово импортиране с помощта на mongoimport от папка на Windows

  5. mongoose/mongodb заявка за множествено сортиране