Saya baru mengenal MongoDB - berasal dari latar belakang basis data relasional. Saya ingin merancang struktur pertanyaan dengan beberapa komentar, tetapi saya tidak tahu hubungan mana yang digunakan untuk komentar: embed
atau reference
?
Sebuah pertanyaan dengan beberapa komentar, seperti stackoverflow , akan memiliki struktur seperti ini:
Question
title = 'aaa'
content = bbb'
comments = ???
Pada awalnya, saya ingin menggunakan komentar yang diembed (saya pikir embed
direkomendasikan di MongoDB), seperti ini:
Question
title = 'aaa'
content = 'bbb'
comments = [ { content = 'xxx', createdAt = 'yyy'},
{ content = 'xxx', createdAt = 'yyy'},
{ content = 'xxx', createdAt = 'yyy'} ]
Jelas, tetapi saya khawatir tentang kasus ini: Jika saya ingin mengedit komentar yang ditentukan, bagaimana cara saya mendapatkan konten dan pertanyaannya? Tidak ada _id
untuk membiarkan saya menemukan satu, atau question_ref
membiarkan saya menemukan pertanyaannya. (Saya sangat pemula, bahwa saya tidak tahu apakah ada cara untuk melakukan ini tanpa _id
dan question_ref
.)
Apakah saya harus menggunakan ref
bukan embed
? Lalu saya harus membuat koleksi baru untuk komentar?