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

Perbedaan antara menyimpan ObjectId dan bentuk stringnya, di MongoDB

Saya, secara pribadi, menyalahkan kode Anda. Saya mengatasi ini dengan sangat baik dalam aplikasi saya dengan mengkodekan dengan cara yang benar. Saya mengonversi ke string dalam kode untuk membandingkan dan saya memastikan bahwa apa pun yang terlihat seperti ObjectId sebenarnya digunakan sebagai ObjectId .

Baik untuk dicatat bahwa di antara ObjectId (http://docs.mongodb.org/manual/reference/object-id/) dan representasi hex sebenarnya ada perbedaan 12 byte, ObjectId menjadi 12 byte dan representasi heksanya adalah 24.

Tidak hanya tentang efisiensi penyimpanan tetapi juga tentang indeks; bukan hanya karena lebih kecil tetapi juga karena ObjectId dapat digunakan dengan cara khusus untuk memastikan bahwa hanya sebagian indeks yang dimuat; bagian-bagian yang digunakan. Ini menjadi paling terlihat saat memasukkan, di mana hanya bagian terbaru dari indeks yang perlu dimuat untuk memastikan keunikan. Anda tidak dapat menjamin perilaku seperti itu dengan representasi heksanya.

Saya sangat menyarankan Anda untuk tidak menggunakan OjbectId representasi heksagonal. Jika Anda ingin "membuat hidup Anda lebih mudah", Anda sebaiknya membuat _id yang berbeda yang lebih kecil tapi entah bagaimana sama unik dan ramah indeks.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Buat Situs Web Toko Makanan Online Menggunakan Angular, NodeJS, Express, dan MongoDB

  2. Harap gunakan 'MongoMappingContext#setAutoIndexCreation(boolean)' atau timpa 'MongoConfigurationSupport#autoIndexCreation()' agar eksplisit

  3. Otentikasi selama koneksi ke instance server MongoDB menggunakan Java

  4. Masalah MongoDB \uXXXX

  5. MongoDB $concatArrays