Berdasarkan data contoh Anda untuk aplikasi perpesanan, yang dapat Anda lakukan adalah memiliki dua koleksi:Percakapan dan Pesan. Di mana hubungannya adalah satu Percakapan memiliki banyak Pesan.
Conversation:
{ id: 123
participants: ['john', 'marry'],
}
Message:
{ sender: 'john',
content: 'howdy',
time_created: new Date(),
converstationId: 123
},
{ sender: 'marry',
content: 'good u',
time_created: new Date(),
converstationId: 123
},
Membuat pesan dokumen baru akan lebih baik dalam kasus ini, karena Anda kemudian dapat memiliki dua aplikasi (1 untuk john dan 1 untuk menikah) tanpa menangani kemungkinan keduanya memperbarui dokumen yang sama. Mereka kebetulan berbagi yang sama sesi percakapan.
Juga, jika percakapan adalah satu dokumen, Anda mungkin berakhir dengan dokumen yang sangat besar. (Kekhawatiran pertumbuhan dokumen)
Anda dapat mengetahui lebih lanjut tentang pemodelan data untuk dokumen mongodb ini
http://docs.mongodb.org/manual/core/data-modeling-introduction/
Lihat juga MongoDB:Sosialita untuk contoh/diskusi untuk kasus penggunaan jejaring sosial.
Semoga membantu. Cheers.