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

MongoDB - contoh referensi manual

Dokumentasinya cukup jelas di bagian manual yang Anda maksud yang merupakan bagian di Referensi Basis Data . Bagian terpenting dalam memahami hal ini terdapat pada pernyataan pembuka di halaman:

Informasi lebih lanjut mencakup topik tentang bagaimana Anda mungkin memilih untuk berurusan dengan mengakses data yang Anda simpan di koleksi lain.

Ada DBRef spesifikasi yang tanpa terlalu detail, mungkin diimplementasikan di beberapa driver sebagai cara ketika ini ditemukan di dokumen Anda, mereka akan secara otomatis mengambil (memperluas) dokumen yang direferensikan ke dalam dokumen saat ini. Ini akan diterapkan "di belakang layar" dengan kueri lain ke koleksi itu untuk dokumen _id itu.

Dalam kasus Referensi Manual ini pada dasarnya mengatakan bahwa hanya ada bidang dalam dokumen Anda yang memiliki konten ObjectId dari dokumen lain. Ini hanya berbeda dari DBRef sebagai sesuatu yang tidak akan pernah diproses oleh implementasi driver dasar adalah menyerahkan bagaimana Anda menangani pengambilan lebih lanjut dari dokumen lain itu hanya terserah Anda.

Dalam hal:

> db.collection.findOne()

{
   _id: <ObjectId>,
   name: "This",
   something: "Else",
   ref: <AnotherObjectId>
}

ref bidang dalam dokumen tidak lebih dari ObjectId biasa dan tidak ada yang istimewa. Apa yang memungkinkan Anda lakukan adalah mengirimkan kueri Anda sendiri untuk mendapatkan detail Objek yang dirujuk ini:

> db.othercollection.findOne({ _id: <AnotherObjectId > })
{
  _id: <ObjectId>
  name: "That"
  something: "I am a sub-document to This!"
}

Perlu diingat bahwa semua proses ini di sisi klien melalui API driver. Tak satu pun dari pengambilan dokumen lain ini terjadi di server dalam hal apa pun.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $concatArrays

  2. penyortiran subdokumen luwak

  3. cara memperbarui bidang nomor menggunakan bidang nomor lain di MongoDB

  4. Mengamankan MongoDB dari Serangan Injeksi Eksternal

  5. Kondisi kueri MongoDb saat membandingkan 2 bidang