MongoDB relaciones: incrustar o referencia?
Soy nuevo en MongoDB, proveniente de un fondo de base de datos relacional. Quiero diseñar una estructura de preguntas con algunos comentarios, pero no sé qué relación usar para los comentarios:embed
oreference
?
Una pregunta con algunos comentarios, comodesbordamiento de pil, tendría una estructura como esta:
Question
title = 'aaa'
content = bbb'
comments = ???
En primer lugar, quiero usar comentarios incrustados (creo queembed
se recomienda en MongoDB), así:
Question
title = 'aaa'
content = 'bbb'
comments = [ { content = 'xxx', createdAt = 'yyy'},
{ content = 'xxx', createdAt = 'yyy'},
{ content = 'xxx', createdAt = 'yyy'} ]
Está claro, pero estoy preocupado por este caso: Si quiero editar un comentario específico, ¿cómo obtengo su contenido y su pregunta? No hay_id
para dejarme encontrar uno, niquestion_ref
para dejarme encontrar su pregunta. (Soy tan novato que no sé si hay alguna forma de hacerlo sin_id
yquestion_ref
.)
¿Tengo que usarref
noembed
? ¿Entonces tengo que crear una nueva colección para comentarios?