Bagaimana mongodb mendefinisikan id objek?

Di MongoDB, bidang _id sebagai kunci utama untuk koleksi sehingga setiap dokumen dapat diidentifikasi secara unik di dalam koleksi. Kolom _id berisi nilai ObjectID yang unik

Secara default saat memasukkan dokumen ke dalam koleksi, jika Anda tidak menambahkan nama field dengan _id di nama field, maka MongoDB akan secara otomatis menambahkan field Object id seperti yang ditunjukkan di bawah ini

Bagaimana mongodb mendefinisikan id objek?

Saat Anda menanyakan dokumen dalam koleksi, Anda bisa melihat ObjectId untuk setiap dokumen dalam koleksi

Jika Anda ingin memastikan bahwa MongoDB tidak membuat Bidang _id saat koleksi dibuat dan jika Anda ingin menentukan id Anda sendiri sebagai _id dari koleksi, maka Anda perlu mendefinisikan ini secara eksplisit saat membuat koleksi

Saat secara eksplisit membuat bidang id, itu harus dibuat dengan _id dalam namanya

Mari kita lihat contoh bagaimana kita bisa mencapai ini

db.Employee.insert({_id:10, "EmployeeName" : "Smith"})

Penjelasan Kode

  1. Kami berasumsi bahwa kami membuat dokumen pertama dalam koleksi dan karenanya dalam pernyataan di atas saat membuat koleksi, kami secara eksplisit mendefinisikan bidang _id dan menentukan nilai untuk itu

Jika perintah berhasil dijalankan dan sekarang gunakan perintah find untuk menampilkan dokumen dalam koleksi, Output berikut akan ditampilkan

Keluaran

Bagaimana mongodb mendefinisikan id objek?

Outputnya dengan jelas menunjukkan bahwa bidang _id yang kami tentukan saat membuat koleksi sekarang digunakan sebagai kunci utama untuk koleksi tersebut

Catatan. – Metode 'simpan ()' berfungsi dengan cara yang sama seperti metode 'sisipkan ()' saat tidak menentukan _id dalam dokumen. Jika kita menentukan id maka metode ‘save()’ akan menggantikan seluruh data dokumen yang berisi _id (i. e. memodifikasi catatan yang ada) seperti yang diberikan dalam metode 'save ()'

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

Bagaimana mongodb mendefinisikan id objek?

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

Bagaimana mongodb mendefinisikan id objek?

Gambar 2. Di Robo 3T

Bagaimana mongodb mendefinisikan id objek?

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

Bagaimana mongodb mendefinisikan id objek?

Gambar 4. Di Robo 3T

Bagaimana mongodb mendefinisikan id objek?

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

Bagaimana mongodb mendefinisikan id objek?

Gambar 6. Di Robo 3T

Bagaimana mongodb mendefinisikan id objek?

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

Bagaimana ID objek dibuat di MongoDB?

4 byte pertama mewakili Unix Timestamp dokumen
3 byte berikutnya adalah ID mesin tempat server MongoDB berjalan
2 byte berikutnya adalah id proses
Bidang terakhir adalah 3 byte yang digunakan untuk menambah objectid

Bagaimana MongoDB ObjectId dibuat dan karakteristiknya?

MongoDB - ObjectId .
4 byte pertama mewakili detik sejak zaman unix
3 byte berikutnya adalah pengidentifikasi mesin
2 byte berikutnya terdiri dari id proses
3 byte terakhir adalah nilai penghitung acak

Terdiri dari apa ID objek dalam MongoDB?

ObjectId 12-byte terdiri dari. Stempel waktu 4-byte, mewakili pembuatan ObjectId, diukur dalam detik sejak era Unix. Nilai acak 5-byte dihasilkan sekali per proses . Nilai acak ini unik untuk mesin dan proses.

Bagaimana Anda mendefinisikan ID objek?

Identifikasi Objek (Object ID) adalah standar dokumentasi yang diakui secara internasional yang disusun untuk mengidentifikasi dan merekam benda budaya .