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

temukan dan hitung dalam satu permintaan mongodb

Ini adalah pekerjaan yang sempurna untuk kerangka kerja agregasi.

db.course.aggregate(
    [
        { "$sort": { "created_at": -1 }},
        { "$group": {
            "_id": null, 
            "docs": { "$push": "$$ROOT" }, 
            "count": { "$sum": 1 }
        }},
        { "$project": { "_id": 0, "count": 1, "docs": { "$slice": [ "$docs", 5 ] } }}
    ]
)

Jika server MongoDB Anda tidak mendukung $slice maka Anda perlu menggunakan pendekatan yang jelek dan tidak efisien.

db.course.aggregate(
    [
        { "$sort": { "created_at": -1 }},
        { "$group": {
            "_id": null, 
            "docs": { "$push": "$$ROOT" }, 
            "count": { "$sum": 1 }
        }},
        { "$unwind": "$docs" },
        { "$limit": 5 }
    ]
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara Mengekspor Hasil Kueri MongoDB ke File CSV

  2. Apakah mungkin untuk mengganti nama bidang _id setelah agregasi grup mongo?

  3. Mongoose tidak menyimpan data ke MongoDB

  4. DAPATKAN permintaan selalu default ke /(?:)/i - bagaimana saya bisa membuatnya 'tidak terdefinisi'? - Pertanyaan kedua tentang topik ini

  5. Spring Boot dan bagaimana cara mengonfigurasi detail koneksi ke MongoDB?