MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Projekt dokumentu MongoDB dla komentarzy (i ich komentarze do odpowiedzi)

Widzę trzy możliwe rozwiązania (to tylko moja opinia):

1.

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

Plusy: możesz łatwo ładować, wyświetlać dane hierarchiczne. nie znasz komentarza rodzica z komentarza.
Wady: nie możesz pytać i aktualizować komentarza z jakimś identyfikatorem.

2.

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

Plusy: Możesz zapytać/zaktualizować, jak chcesz.
Wady: Duża liczba żądań do mongo, gdy potrzebujesz hierarchii obciążenia.

3. Mój ulubiony;) :

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

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

Plusy: Możesz zapytać/zaktualizować, jak chcesz. Możesz załadować artykuł ze wszystkimi komentarzami w jednym żądaniu. Nie trzeba przechowywać zbędnych typów artykułu i identyfikatora artykułu
Wady: Musisz załadować artykuł i zbudować hierarchię w pamięci.

Mam nadzieję, że pomoże to w dokonaniu wyboru.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wyszukiwanie wartości dowolnego pola w MongoDB bez jawnego nazywania go

  2. MongoDB $set nie aktualizuje rekordu

  3. MongoDB $isoWeekYear

  4. Znacznik czasu Mongodb jest bardzo niedokładny – mangusta

  5. Deserializacja pola po zmianie typu za pomocą sterownika MongoDb csharp