sql >> Database >  >> NoSQL >> MongoDB

MongoDB-documentontwerp voor opmerkingen (en hun antwoordopmerkingen)

Ik zie drie mogelijke oplossingen (het is gewoon mijn mening):

1.

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

Pluspunten: u kunt eenvoudig hiërarchische gegevens laden en weergeven. je kent geen oudercommentaar van commentaar.
Nadelen: je kunt commentaar niet opvragen en bijwerken met een id.

2.

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

Pluspunten: U kunt opvragen/bijwerken zoals u wilt.
Nadelen: Grote hoeveelheid verzoeken aan mongo wanneer je laadhiërarchie nodig hebt.

3.Mijn favoriet;) :

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

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

Pluspunten: U kunt opvragen/bijwerken zoals u wilt. U kunt een artikel met alle opmerkingen in één verzoek laden. U hoeft geen redurant ArticleType en ArticleId op te slaan
Nadelen: Moet artikel laden en hiërarchie in het geheugen opbouwen.

Ik hoop dat dit je helpt bij het maken van een keuze.



  1. PyMongo upsert gooit upsert moet een instantie van bool-fout zijn

  2. Verificatie mislukt fout bij het specificeren van de database

  3. Repository-query met een List-parameter in Spring Data MongoDB

  4. God-configuratiebestand om bestaande processen te bewaken?