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

Membuat model blog dan peringkat di mongodb dan nodejs

Praktik yang baik dengan MongoDB (dan penyimpanan data non-relasional lainnya) adalah memodelkan data Anda sehingga mudah digunakan/dikueri dalam aplikasi Anda. Dalam kasus Anda, Anda mungkin mempertimbangkan untuk sedikit mendenormalisasi struktur dan menyimpan peringkat tepat di koleksi blog, sehingga blog mungkin terlihat seperti ini:

{
  title: "My New Post",
  body: "Here's my new post. It is great. ...",
  likes: 20,
  dislikes: 5,
  ...
  rates: [
    { client_id: (id of client), rate: 5 },
    { client_id: (id of another client), rate: 3 },
    { client_id: (id of a third client), rate: 10 }
  ]
}

Idenya adalah bahwa objek dalam rates array berisi semua data yang Anda perlukan untuk menampilkan entri blog, lengkap dengan peringkat, langsung dalam satu dokumen. Jika Anda juga perlu menanyakan tarif dengan cara lain (mis. menemukan semua peringkat yang dibuat oleh pengguna X), dan situsnya banyak dibaca, Anda dapat mempertimbangkan juga menyimpan data dalam Rates koleksi seperti yang Anda lakukan sekarang. Tentu, data ada di dua tempat, dan lebih sulit untuk diperbarui, tetapi ini mungkin merupakan kemenangan keseluruhan setelah Anda menganalisis aplikasi dan cara aplikasi mengakses data Anda.

Perhatikan bahwa Anda dapat menerapkan indeks jauh ke dalam struktur dokumen, jadi misalnya Anda dapat mengindeks News.rates.client_id , lalu Anda dapat dengan cepat menemukan dokumen apa pun di News koleksi yang telah dinilai oleh pengguna tertentu.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mencocokkan bidang array yang berisi kombinasi apa pun dari array yang disediakan di MongoDB

  2. Bagaimana saya bisa mengurutkan dan membatasi dengan Mongoose

  3. Bagaimana cara menanyakan dokumen bersarang MongoDB dengan benar dengan python?

  4. DbRef dengan Luwak - luwak-dbref atau isi?

  5. MongoDB, hapus objek dari array