MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Design de documento MongoDB para comentários (e seus comentários de resposta)


Eu vejo três soluções possíveis (é apenas minha opinião):

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

Prós: você pode carregar facilmente, exibir dados hierárquicos. você não sabe o comentário pai do comentário.
Contras: você não pode consultar e atualizar o comentário com algum id.

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

Prós: Você pode consultar/atualizar como quiser.
Contras: Grande quantidade de solicitações ao mongo quando você precisa de hierarquia de carga.

3.Meu favorito;) :
 public class Comment 
 {
   ...
   public string ParentCommentId {get;set;}
 }

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

Prós: Você pode consultar/atualizar como quiser. Você pode carregar o artigo com todos os comentários em uma solicitação. Não há necessidade de armazenar ArticleType e ArticleId redundantes
Contras: Precisa carregar artigo e construir hierarquia na memória.

Espero que isso ajude você a fazer a escolha..