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

mongodb menambahkan penghitung ke setiap dokumen yang diambil

Meskipun jawaban yang disebutkan oleh @prasad_ tampaknya berfungsi, $unwind memiliki opsi includeArrayIndex sejak Mongodb 3.2 yang membuatnya lebih mudah untuk dicapai :

db.collection.aggregate([
  {
    $group: {
      _id: null,
      data: {
        $push: "$$ROOT"
      }
    }
  },
  {
    $unwind: {
      path: "$data",
      includeArrayIndex: "counter",

    }
  },
  {
    $replaceRoot: {
      newRoot: {
        $mergeObjects: [
          "$data",
          {
            counter: {
              $add: [
                "$counter",
                1
              ]
            }
          }
        ]
      }
    }
  }
])

Tahap terakhir di sini hanya untuk membentuk kembali dokumen Anda, dan menambahkan 1 ke setiap penghitung, karena berbasis 0 (berdasarkan indeks array)

Anda dapat mengujinya di sini.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara Terbaik untuk Menghosting MongoDB di DigitalOcean

  2. Cara menggunakan tipe desimal di MongoDB

  3. MongoDB:Memperbarui dokumen menggunakan data dari dokumen yang sama

  4. Tiga A Keamanan MongoDB – Otentikasi, Otorisasi &Audit

  5. Membuat kueri luwak.js berjalan secara sinkron