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

MongoDB агрегиране с Java драйвер

Най-накрая намерих решението, получавам същия резултат, както при първоначалната заявка.

Монго драйвер 3 :

Обобщен документ

MongoCollection<Document> collection = database.getCollection("myCollection");

AggregateIterable<Document> output = collection.aggregate(Arrays.asList(
        new Document("$unwind", "$views"),
        new Document("$match", new Document("views.isActive", true)),
        new Document("$sort", new Document("views.date", 1)),
        new Document("$limit", 200),
        new Document("$project", new Document("_id", 0)
                    .append("url", "$views.url")
                    .append("date", "$views.date"))
        ));

// Print for demo
for (Document dbObject : output)
{
    System.out.println(dbObject);
}

Можете да го направите по-четим със статично импортиране :
import static com.mongodb.client.model.Aggregates.*; .
Вижте отговора на koulini за пълен пример.

Монго драйвер 2 :

Обобщен документ

Iterable<DBObject> output = collection.aggregate(Arrays.asList(
        (DBObject) new BasicDBObject("$unwind", "$views"),
        (DBObject) new BasicDBObject("$match", new BasicDBObject("views.isActive", true)),
        (DBObject) new BasicDBObject("$sort", new BasicDBObject("views.date", 1)),
        (DBObject) new BasicDBObject("$limit", 200),
        (DBObject) new BasicDBObject("$project", new BasicDBObject("_id", 0)
                    .append("url", "$views.url")
                    .append("date", "$views.date"))
        )).results();
    
// Print for demo
for (DBObject dbObject : output)
{
    System.out.println(dbObject);
}

Логика на преобразуване на заявка: Благодарете на тази връзка



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Проверка дали съществува индекс в mongodb

  2. Как можете да премахнете всички документи от колекция с Mongoose?

  3. Клас 'MongoDB\Driver\Manager' не е намерен

  4. Какви са предимствата от използването на база данни без схеми като MongoDB в сравнение с релационна база данни?

  5. Грешка в MongoDB:Не може да се използва повторно записване с limit=0