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

Mengambil panjang daftar di MongoDB

Sekarang, saya bisa berpikir dalam dua pendekatan:

1) Menggunakan kerangka kerja agregasi:

db.log.aggregate([ { $unwind : "$entries" }, { $group : { _id : "$_id", entries : {$sum:1}  } }  ]);

2) Atau Anda dapat menambahkan bidang ke dokumen yang menyimpan jumlah entri. Jadi, setiap kali Anda memasukkan nilai baru ke array entri, Anda harus menambah penghitung. Updatenya akan seperti ini:

db.log.update({ _id : 123 }, { $push : { entries : 'value' }, $inc : { entriesCount : 1 } })

Jelas, Anda memiliki trade-off di sini:kerangka kerja agregasi terlalu mahal untuk operasi sederhana ini. Tetapi menambahkan bidang ke dokumen, setiap pembaruan harus menambah penghitung.

IMHO, penghitungnya terlihat lebih masuk akal, meskipun terlihat solusi.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. luwak untuk menentukan pembaruan-upsert melakukan penyisipan atau pembaruan

  2. Apakah simpanan transaksi findAndModify mongoDB?

  3. MongoDB v2.4.9 urutkan berdasarkan bidang boolean

  4. MongoDB $sum dan $avg sub dokumen

  5. MongoDB $dalam Operator Kueri