sql >> Base de Datos >  >> NoSQL >> MongoDB

Diseño de documentos MongoDB para comentarios (y sus comentarios de respuesta)

Veo tres posibles soluciones (es solo mi opinión):

1.

public class Comment 
{
  ...
  public List<Comment> ChildComments {get;set;}
}

Ventajas: puede cargar fácilmente, mostrar datos jerárquicos. usted no sabe el comentario de los padres del comentario.
Desventajas: no puede consultar y actualizar el comentario con alguna identificación.

2.

public class Comment 
{
  ...
  public string ParentCommentId {get;set;}
}

Ventajas: Puedes consultar/actualizar como quieras.
Desventajas: Gran cantidad de solicitudes a mongo cuando necesita carga de jerarquía.

3.Mi favorito;) :

 public class Comment 
 {
   ...
   public string ParentCommentId {get;set;}
 }

 public class Article
 {
   ...
   public List<Comment> Comments {get;set;}
 }

Ventajas: Puedes consultar/actualizar como quieras. Puede cargar el artículo con todos los comentarios en una sola solicitud. No es necesario almacenar ArticleType y ArticleId de redurant
Contras: Necesita cargar el artículo y crear una jerarquía en la memoria.

Espero que esto te ayude a elegir...