Saya bahas sedikit disini, baca ini dulu:https://stackoverflow.com/a/27285313/ 68567
Untuk kasus Anda, Opsi 3 (menyimpan beberapa data dalam model utama Anda) mungkin yang terbaik. Kuncinya adalah Hindari pertumbuhan larik tak terbatas .
Ini ada hubungannya dengan bagaimana Mongodb mengalokasikan dokumen. http://docs.mongodb.org/manual/core/storage/ "Setiap dokumen di MongoDB disimpan dalam catatan yang berisi dokumen itu sendiri dan ruang ekstra, atau padding, yang memungkinkan dokumen berkembang sebagai hasil pembaruan."
Ketika node mengalokasikan dokumen baru, ia mengalokasikan ruang berdasarkan ukuran dokumen yang dimasukkan dan ukuran dokumen yang sudah ada dalam koleksi Anda. (Baca selengkapnya di tautan di atas.) Jika Anda memiliki beberapa dokumen yang urutan besarnya lebih besar daripada yang lain, ini kemungkinan akan menyebabkan fragmentasi.
Cara untuk menghindari terlalu banyak dokumen dalam larik sub-dokumen 'komentar' Anda adalah dengan perintah $push dan $slice.http://docs.mongodb.org/manual/reference/operator/update/slice/
Jadi simpan '5 terbaru' dan tampilkan saat item pertama kali dimuat. (Atau terlama, atau kriteria penyortiran apa pun yang ingin Anda gunakan.) Kemudian berikan cara bagi pengguna untuk memuat lebih banyak yang akan melakukan perjalanan pulang pergi terpisah ke koleksi yang memiliki semuanya.