Apa arti dari _id di mongodb?

Dalam seri pelatihan MongoDB Terperinci ini, tutorial kami sebelumnya menjelaskan kepada kami semua tentang penggunaan Dokumen Pembaruan () dan Hapus () di MongoDB

Dalam tutorial ini, kita akan belajar tentang ObjectId dan metodenya di dalam MongoDB

Pada dasarnya, ObjectId diperlakukan sebagai kunci utama dalam setiap koleksi MongoDB

Apa arti dari _id di mongodb?

Itu dihasilkan secara otomatis setiap kali kami membuat dokumen baru di dalam koleksi baru. Ini didasarkan pada nilai heksadesimal 12-byte seperti yang dapat Anda amati dalam sintaks berikut

Sintaksis

ObjectId(<hexadecimal>)

Nilai heksadesimal ini dibagi menjadi tiga segmen yaitu sebagai berikut

  • Segmen pertama dari nilai 4-byte mewakili detik sejak zaman UNIX
  • Segmen kedua dari nilai acak 5-byte
  • Segmen ketiga dari pencacah 3-byte dimulai dengan nilai acak

MongoDB menyediakan tiga metode untuk ObjectId seperti yang ditunjukkan di bawah ini

  • ObjectId. getTimestamp()
  • ObjectId. keString()
  • ObjectId. Nilai dari()

Apa yang Akan Anda Pelajari

Buat ObjectId

Untuk membuat objectID baru secara manual di dalam MongoDB, Anda dapat mendeklarasikan objectId sebagai metode. Dengan kata sederhana, kita dapat mengatakan bahwa ID objek adalah pengidentifikasi unik untuk setiap record. Pada gambar di bawah ini Anda dapat mengamati bahwa kami mendeklarasikan variabel yang memiliki metode ID objek sebagai nilai dan akan mengembalikan heksadesimal unik

Kode

X = ObjectId()
_

Gambar 1. Di Mongo Shell

Apa arti dari _id di mongodb?

Gambar 2. Di Robo 3T

Apa arti dari _id di mongodb?

Pada gambar di atas, Anda dapat mengamati bahwa kami mendeklarasikan metode objectID sebagai nilai untuk variabel "x" beberapa kali. Setiap kali akan mengembalikan nilai heksadesimal yang unik dan ketika kita hanya memanggil "x", itu akan mengembalikan nilai heksadesimal yang disimpan terakhir

Dari percobaan ini, kami mengetahui bahwa, setiap kali kami memanggil ObjectID, ia akan mencadangkan lokasi tertentu dalam memori virtual untuk direkam.

Tentukan Spesifik ObjectId Heksadesimal

Jika Anda ingin menentukan nilai heksadesimal unik Anda sendiri, maka MongoDB akan memungkinkan Anda melakukan tindakan ini. Pada contoh di atas, hanya mendeklarasikan ID objek tanpa parameter apa pun sebagai metode

Dalam skenario ini, kami akan mendefinisikan ID objek dengan nilai heksadesimal sebagai parameter metode

Seperti yang dapat Anda amati, pada gambar berikut kami mendefinisikan nilai variabel "y" sebagai ID objek yang telah ditentukan sebelumnya. Dengan demikian itu akan mengembalikan ID objek yang sama yang dengannya kita mengetahui bahwa kita dapat menentukan nilai heksadesimal tertentu untuk ID objek individual

Kode

y = ObjectId(“5bf142459b72e12b2b1b2cd”)

Gambar 3. Di Mongo Shell

Apa arti dari _id di mongodb?

Gambar 4. Di Robo 3T

Apa arti dari _id di mongodb?

Dapatkan String Heksadesimal ObjectId

Saat Anda memanggil ID Objek, itu tidak akan mengembalikan Anda string, melainkan akan mengembalikan Anda seluruh metode yang memiliki nilai heksadesimal unik

Untuk mengekstrak heksadesimal unik sebagai string dari objectID, Anda harus menggunakan “. str” sebagai postfix. Pada gambar berikut, Anda dapat mengamati cara kerjanya

Kode

y = ObjectId(“5bf142459b72e12b2b1b2cd”). str

Gambar 5. Di Mongo Shell

Apa arti dari _id di mongodb?

Gambar 6. Di Robo 3T

Apa arti dari _id di mongodb?

Kesimpulan

ID objek diperlakukan sebagai kunci utama dalam koleksi MongoDB dan dihasilkan secara otomatis. Kami dapat membuat ID objek secara manual dan kami juga dapat menentukan nilai heksadesimal sesuai dengan kebutuhan kami

Kami juga dapat mengekstrak nilai heksadesimal sebagai string dari ID objek. ID objek adalah kombinasi waktu, nilai acak, dan nilai penghitung. Setiap kali kita memanggil Object ID, itu menciptakan nilai heksadesimal yang unik

Hari ini di artikel ini kita akan melihat beberapa panduan berguna saat mendefinisikan skema untuk MongoDB menggunakan _id Field

Hari ini kita akan membahas aspek-aspek di bawah ini,

Apa itu _id di MongoDB?

Bidang _id di MongoDB adalah ObjectId. Ini unik, cepat dibuat, dan dipesan dengan panjang 12 byte, terdiri dari stempel waktu + nilai acak + penghitung

ObjectId adalah konstruksi yang menyediakan pengidentifikasi unik global untuk dokumen Anda

Bagaimana '_id' dibuat di MongoDB

Setiap dokumen yang disimpan dalam koleksi MongoDB memerlukan kolom _id unik yang juga dicadangkan sebagai kunci utama yang mengidentifikasi setiap dokumen secara unik

Apa arti dari _id di mongodb?

Untuk lebih jelasnya silahkan kunjungi artikel ini,

  • Tipe Data MongoDB ObjectId – Pedoman

Ketika dokumen baru dimasukkan dan tidak menentukan bidang '_id' secara eksplisit, maka driver MongoDB secara otomatis menghasilkan _id sebagai ObjectId

Apa arti dari _id di mongodb?

Mari kita ambil contoh dokumen skema yang didorong ke MongoDB,

Contoh

{
  "Name": "Design Patterns",
  "Price": 54.93,
  "Category": "Computers",
  "Author": "Ralph Johnson"
}

Dokumen MongoDB dimasukkan seperti di bawah ini,

{
"_id":"5db5a4476997188b2722c820",
"Name":"Design Patterns",
"Price":54.93,
"Category":"Computers",
"Author":"Ralph Johnson"
}
_

Dengan hal di atas, Anda mendapatkan resolusi untuk keunikan level Database Infra. Tidak berarti, Anda akan mendapatkan dokumen yang sama dengan “_id” yang sama dalam koleksi yang diberikan. Ini hanya ditangani oleh sistem MongoDB dan perilaku defaultnya

Bisakah saya menggunakan _id saya sendiri yang ditentukan

Ini kemungkinan besar sebenarnya saya telah melihat banyak proyek menggunakan _id mereka sendiri

Contoh

Dalam contoh di bawah _id didefinisikan oleh kode klien secara eksplisit dan dimasukkan ke database

Berikut adalah contoh saat menggunakan '_id' yang ditentukan khusus

Apa arti dari _id di mongodb?

Sebelum menggunakan opsi ini, ada panduan di bawah ini yang dapat membantu Anda memutuskan,

Panduan dan praktik terbaik untuk bidang ID MongoDB

  • Secara default, tipe _id akan menjadi ObjectID kecuali ditentukan secara eksplisit selama pembuatan dokumen
  • Nilai _id tidak harus berupa ObjectID. Pengguna dapat mengganti _id selain tipe data ObjectID jika diinginkan. Misalnya, Anda dapat mendefinisikan _id sebagai String atau Int sesuai kebutuhan
  • Bidang _id akan selalu menjadi bidang pertama dalam dokumen
  • Jika dokumen yang diterima tidak memiliki kolom _id sebagai kolom pertama, maka server MongoDB akan memindahkannya terlebih dahulu sebagai perilaku default
  • Jenis yang didukung _id di MongoDB – _id mendukung sebagian besar jenis BSON
  • _id tetap menjadi kunci utama elemen dalam koleksi
  • _id secara otomatis diindeks
Apa arti dari _id di mongodb?
  • Jika menentukan _id khusus Anda sendiri, pastikan 100% bahwa itu akan tetap unik. Anda akan mendapatkan banyak kesalahan untuk duplikat, bahkan dengan kurang dari 0. Probabilitas 009% karena lebih banyak catatan volume dapat menghasilkan lebih banyak kesalahan seperti itu
  • Harap pastikan untuk tidak menggunakan id Anda sebagai informasi sensitif karena praktik terbaik keamanan
  • Informasi sensitif seperti PII atau PHI sebagai _id Anda dimungkinkan tetapi harap pastikan kelayakan opsi tersebut sebelum menggunakannya. Mungkin kasus penggunaan Anda berfungsi dengan baik atau tidak akan ditangani dengan benar

Informasi PII atau PHI Anda dapat mencakup nama, alamat, SSN, TIN Pajak, atau nomor atau kode pengenal lainnya, nomor telepon, alamat email, nomor rekam medis. dll. )

Apa tujuan _id di MongoDB?

_id adalah kunci utama pada elemen dalam koleksi ; . _id secara otomatis diindeks. Pencarian menentukan { _id.

Apakah _id diperlukan di MongoDB?

"_id " selalu wajib . Ini adalah kunci utama untuk setiap dokumen di Mongo.

Apa perbedaan antara ID dan _id?

Perbedaannya dapat dipahami dengan mengikuti, Bidang _id adalah kunci utama untuk setiap dokumen. Ini disebut _id dan juga dapat diakses melalui id . Mencoba menggunakan kunci id dapat mengakibatkan kesalahan format ObjectId ilegal.

Apa tipe data _id di MongoDB?

MongoDB menyediakan pengidentifikasi unik otomatis untuk bidang _id dalam bentuk tipe data ObjectId . Bagi mereka yang terbiasa dengan Dokumen MongoDB, Anda mungkin menemukan tipe data ObjectId di bidang _id.