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

Menggunakan sebagai basis data grafik untuk menemukan teman dari teman di MongoDb

Meskipun bukan tidak mungkin, MongoDB tidak cocok untuk skenario ini.

Alasannya adalah bahwa MongoDB tidak melakukan GABUNG. Saat Anda membutuhkan kueri yang mencakup banyak dokumen, Anda memerlukan kueri terpisah untuk setiap dokumen.

Dalam contoh Anda, setiap user dokumen akan memiliki larik dengan _id dari teman-teman mereka. Untuk menemukan "semua teman dari teman UserA yang juga teman UserB" berarti Anda akan:

  1. temukan penggunaA dan dapatkan array teman
  2. temukan semua pengguna dalam array itu dan dapatkan array teman mereka
  3. temukan semua pengguna dalam array ini yang memiliki UserB di array teman mereka

Ini adalah tiga pertanyaan yang harus Anda lakukan. Di antara masing-masing kueri ini, kumpulan hasil harus dikirim ke aplikasi, aplikasi harus merumuskan kueri baru dan mengirimkannya kembali ke database. Kumpulan hasil yang dikembalikan dari kueri ke-2 bisa sangat besar, yang berarti kueri ke-3 bisa memakan waktu cukup lama.

tl;dr: Gunakan alat yang tepat untuk pekerjaan itu. Saat data Anda berbasis grafik dan Anda ingin melakukan kueri berbasis grafik, gunakan database grafik.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Codec driver skala Mongodb untuk kelas sifat dan warisan

  2. TypeScript:kunci dalam dari objek bersarang, dengan tipe terkait

  3. Morphia MongoDB memeriksa bidang nol dan tidak ada

  4. Mengkloning koleksi di MongoDB

  5. Mongodb tidak diizinkan pada admin untuk menjalankan perintah listDatabases