MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Agregasi MongoDB dengan driver Java

Akhirnya menemukan solusinya, saya mendapatkan hasil yang sama dibandingkan dengan permintaan awal.

Pengemudi Mongo 3 :

Dokumen gabungan

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

Anda dapat membuatnya lebih mudah dibaca dengan static import :
import static com.mongodb.client.model.Aggregates.*; .
Lihat jawaban koulini untuk contoh lengkap.

Pengemudi Mongo 2 :

Dokumen gabungan

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

Logika konversi kueri : Terima kasih atas tautan ini



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Buat Aplikasi Pencatat untuk Android Dengan MongoDB Stitch

  2. MongoDB mengembalikan True jika dokumen ada

  3. Kiat untuk Mengelola MongoDB dari Jarak Jauh

  4. Cara Menghapus Bidang dari Dokumen MongoDB ($ tidak disetel)

  5. MongoDB $atan