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

mongodb - Bangun DBRef dengan string atau ObjectId

Satu-satunya perbedaan adalah bahwa yang satu sebenarnya adalah ObjectId dan yang lainnya adalah representasi string dari apa yang tampak sebagai ObjectId .

DBRef sebagai ObjectId:

db.persons.insert({name: 'cavin', 
     sister: new DBRef('persons', 
         new ObjectId('5165419064fada69cef33ea2'))}) // use an ObjectId

DBRef sebagai String:

db.persons.insert({name: 'bob', 
     sister: new DBRef('persons', 
        '5165419064fada69cef33ea2')}) // use a string

Dalam contoh yang Anda sertakan, ObjectId format dapat menghasilkan penyimpanan yang lebih efisien karena ini adalah nilai 12 byte, bukan 24 byte yang diperlukan oleh representasi string. Jika Anda ingin menggunakan DBRef s, saya akan menggunakan ObjectId jika koleksi yang direferensikan menggunakan ObjectId s untuk _id .

Anda tidak diharuskan menggunakan ObjectId dalam DBRef . Itu bisa berupa nilai apa pun yang mewakili kunci (_id ) dari koleksi/DB terkait.

Sebagai dokumentasi menyarankan, kecuali Anda memiliki alasan kuat untuk menggunakan DBRef , gunakan referensi manual sebagai gantinya.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Replika MongoDB diatur dengan otentikasi kata sandi sederhana

  2. Apa pendekatan yang tepat untuk memperbarui banyak catatan di MongoDB menggunakan Mongoose

  3. Akankah dokumen Mongo $near mengembalikan yang titik mana pun dalam MultiPoint berada dalam jangkauan?

  4. Ekspresi Reguler MongoDB:Berisi email di dalam string

  5. Regex Mongodb dalam agregasi menggunakan referensi ke nilai bidang