Jika Anda memiliki banyak data, maka saya akan tetap menggunakan pendekatan yang sama dan menambahkan penghitung agregat setiap kali pesan baru ditambahkan untuk pengguna, menggunakan koleksi seperti ini:
menghitung
{
userid: 123,
messages: 10
}
Sayangnya (atau untungnya?) tidak ada pemicu di MongoDB, jadi Anda akan menambahkan penghitung dari logika aplikasi Anda:
db.counts.update( { userid: 123 }, { $inc: { messages: 1 } } )
Ini akan memberi Anda kinerja terbaik, dan Anda mungkin juga meletakkan indeks pada userid
bidang untuk pencarian cepat:
db.counts.ensureIndex( { userid: 1 } )