sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB dokumentdesign för kommentarer (och deras svarskommentarer)

Jag ser tre möjliga lösningar (det är bara min åsikt):

1.

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

Proffs: du kan enkelt ladda, visa hierarkiska data. du känner inte förälders kommentar från kommentar.
Nackdelar: du kan inte fråga och uppdatera kommentarer med något id.

2.

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

Proffs: Du kan fråga/uppdatera som du vill.
Nackdelar: Stor mängd förfrågningar till mongo när du behöver laddningshierarki.

3.Min favorit;) :

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

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

Proffs: Du kan fråga/uppdatera som du vill. Du kan ladda artikeln med alla kommentarer i en förfrågan. Inget behov av att lagra redurant ArticleType och ArticleId
Nackdelar: Behöver ladda artikel och bygga hierarki i minnet.

Hoppas detta hjälper dig att göra val..



  1. F# Multiple Attributes CLIMutable DataContract

  2. Redis Key upphör med Jedis

  3. Mongodb:Prestandapåverkan av $HINT

  4. Morphia-fråga med eller operator