Latest web development tutorials

referensi database yang MongoDB

Pada bagian sebelumnya telah disebutkan hubungan MongoDB MongoDB referensi untuk membakukan struktur data dokumen.

MongoDB memiliki dua referensi:

  • referensi manual (Referensi Manual)
  • DBRefs

DBRefs referensi manual vs

Pertimbangkan skenario seperti itu, kita memiliki satu set yang berbeda (address_home, address_office, address_mailing, dll) disimpan di alamat yang berbeda (alamat, alamat kantor, alamat, dll).

Jadi, ketika kita sebut alamat yang berbeda, Anda perlu menentukan koleksi, koleksi dokumen dari beberapa referensi dokumen, kita harus menggunakan DBRefs.


Gunakan DBRefs

bentuk DBRef:

{ $ref : , $id : , $db :  }

Signifikansi dari tiga bidang diwakili oleh:

  • $ Ref: nama koleksi
  • $ Id: referensi id
  • $ Db: nama database, parameter opsional

Contoh berikut menggunakan dokumen data pengguna DBRef, alamat lapangan:

{
   "_id":ObjectId("53402597d852426020000002"),
   "address": {
   "$ref": "address_home",
   "$id": ObjectId("534009e4d852427820000002"),
   "$db": "w3cschoolcc"},
   "contact": "987654321",
   "dob": "01-01-1991",
   "name": "Tom Benzamin"
}

fieldalamat DBRef menentukan dokumen alamat direferensikan berada di bawah address_home koleksi database yang w3cschoolcc, id adalah 534009e4d852427820000002.

Kode berikut, kita harus menemukan koleksi di alamat yang ditentukan informasi user id yang ditentukan oleh parameter $ ref (set address_home):

>var user = db.users.findOne({"name":"Tom Benzamin"})
>var dbRef = user.address
>db[dbRef.$ref].findOne({"_id":(dbRef.$id)})

Contoh di atas kembali address_home alamat data koleksi:

{
   "_id" : ObjectId("534009e4d852427820000002"),
   "building" : "22 A, Indiana Apt",
   "pincode" : 123456,
   "city" : "Los Angeles",
   "state" : "California"
}