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

Kueri MongoDB pada bidang yang terisi

Jawabannya adalah mengubah skema Anda.

Anda telah jatuh ke dalam perangkap yang dimiliki banyak pengembang sebelum Anda memasuki pengembangan database dokumen dari riwayat penggunaan database relasional:MongoDB bukan database relasional dan tidak boleh diperlakukan seperti itu.

Anda harus berhenti memikirkan kunci asing dan data yang dinormalisasi dengan sempurna, dan sebagai gantinya, simpan setiap dokumen selengkap mungkin, pikirkan tentang cara terbaik untuk menyematkan data terkait yang relevan di dalam dokumen Anda.

Ini tidak berarti Anda tidak dapat mempertahankan asosiasi juga. Ini mungkin berarti struktur seperti ini, di mana Anda hanya menyematkan detail yang diperlukan, dan meminta catatan lengkap saat diperlukan:

var activitySchema = new mongoose.Schema({
  event: {
    _id: { type: ObjectId, ref: "Event" },
    name: String,
    private: String
  },

  // ... other fields
});

Memikirkan kembali strategi penyematan Anda akan sangat sederhanakan kueri Anda dan pertahankan jumlah kueri seminimal mungkin. populate akan mempercepat hitungan Anda, dan seiring bertambahnya dataset Anda, hal ini kemungkinan besar akan menjadi masalah.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menjalankan MongoDB dengan Manajer Operasi

  2. Menghapus spasi putih (awal dan akhir) dari nilai string

  3. Cara menerapkan versi data di MongoDB

  4. Luwak:Skema vs Model?

  5. otentikasi baris perintah mongo gagal