MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Desain dokumen MongoDB untuk komentar (dan komentar balasan mereka)

Saya melihat tiga solusi yang mungkin (itu hanya pendapat saya):

1.

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

Pro: Anda dapat dengan mudah memuat, menampilkan data hierarkis. Anda tidak tahu komentar orang tua dari komentar.
Kekurangan: Anda tidak dapat meminta dan memperbarui komentar dengan beberapa id.

2.

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

Pro: Anda dapat meminta/memperbarui sesuai keinginan.
Kekurangan: Sejumlah besar permintaan ke mongo saat Anda membutuhkan hierarki pemuatan.

3. Favoritku;) :

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

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

Pro: Anda dapat meminta/memperbarui sesuai keinginan. Anda dapat memuat artikel dengan semua komentar dalam satu permintaan. Tidak perlu menyimpan ArticleType dan ArticleId yang berlebihan
Kekurangan: Perlu memuat artikel dan membangun hierarki di memori.

Semoga ini membantu Anda membuat pilihan..



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menghubungkan ke DocumentDB dari AWS Lambda menggunakan Python

  2. Permintaan pencarian MongoDB hanya pada jam-jam tertentu

  3. Postgres 9.4 jsonb menanyakan operator dasar

  4. Mongo Map Kurangi pilih tanggal terbaru

  5. MongoDB Temukan kinerja:indeks gabungan tunggal VS dua indeks bidang tunggal