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

Permintaan MongoDB DALAM array objek

Ini tidak dapat dilakukan dengan kueri sederhana. Anda harus mengulang employee.departments dan untuk setiap iterasi tambahkan department_id ke array. Array ini kemudian dapat Anda gunakan di baris kedua Anda. Ini adalah sesuatu yang paling baik dilakukan dalam bahasa pilihan Anda.

Untuk membuatnya lebih mudah, Anda harus mengubah skema Anda. Salah satu opsi adalah menyimpan informasi departemen dalam catatan karyawan, tetapi dalam kasus Anda, Anda akan menduplikasi banyak data.

Saya malah menyarankan agar setiap departemen berisi daftar dengan ID dan tanggal karyawan sebagai gantinya seperti ini:

{
        "_id" : ObjectId("4f9643957f8b9a3f0a000004"),
        "dept_name" : "Marketing",
        "managers" : [
        ]
        "employees" : [
            {
                    "employee_id" : ObjectId("4f9643967f8b9a3f0a00005a"),
                    "from_date" : "1990-01-03",
                    "to_date" : "1990-01-15"
            }
        ]
}

Dalam hal ini, Anda cukup menjalankan:

db.departments.find( { "employees.employee_id": ObjectId("some_id") } );


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ekspor dari Oracle ke MongoDB menggunakan python

  2. Indeks berbeda pada anggota kumpulan replika yang berbeda

  3. Apakah ada hal lain jika di MongoDB ke $cond saat mengagregasi

  4. Bagaimana cara melakukan kueri MongoDB ini menggunakan java?

  5. 2 dokumen bergabung di MongoDB