Cara menggunakan set objectid mongodb

Dalam beberapa bab pertama kita telah menggunakan MongoDB objek Id (ObjectId).

Pada bagian ini, kita akan melihat struktur ObjectId.

ObjectId BSON adalah tipe data 12-byte, memiliki format berikut:

  • Pertama empat byte timestamp
  • Tiga byte berikutnya kode mesin adalah
  • Segera dua byte disusun oleh proses id (PID)
  • Tiga byte terakhir dari nomor acak.

dokumen MongoDB disimpan harus ada "_id" kunci. Nilai kunci ini dapat jenis, default adalah objek ObjectId.

Dalam satu set dalam setiap dokumen memiliki unik "_id" nilai, untuk memastikan koleksi dalam setiap dokumen dapat diidentifikasi secara unik.

MongoDB menggunakan ObjectId, tetapi pendekatan bukan alasan utama lain yang lebih konvensional (seperti kunci utama auto-increment), karena nilai kunci primer secara otomatis meningkat sinkronisasi di beberapa server juga memakan waktu dan tenaga.


Buat ObjectId baru

Gunakan kode berikut untuk menghasilkan ObjectId baru:

>newObjectId = ObjectId()

Pernyataan di atas mengembalikan berikut dihasilkan unik id:

ObjectId("5349b4ddd2781d08c09890f3")

Anda juga dapat menggunakan id yang dihasilkan bukan MongoDB secara otomatis ObjectId:

>myObjectId = ObjectId("5349b4ddd2781d08c09890f4")

dokumen penciptaan timestamp

Sejak ObjectId disimpan dalam empat byte dari waktu yang tertera, sehingga Anda tidak perlu menyimpan bidang timestamp untuk dokumen Anda, Anda dapat membuat waktu untuk mendapatkan dokumen dengan fungsi getTimestamp:

>ObjectId("5349b4ddd2781d08c09890f4").getTimestamp()

Kode di atas akan kembali saat ISO pembuatan dokumen Format:

ISODate("2014-04-12T21:49:17Z")

ObjectId dikonversi ke string

Dalam beberapa kasus, Anda mungkin perlu mengkonversi format string ObjectId. Anda dapat menggunakan kode berikut:

>new ObjectId().str

Kode di atas akan mengembalikan format string Guid ::

5349b4ddd2781d08c09890f3

Dalam beberapa bab pertama kita telah menggunakan MongoDB objek Id (ObjectId).

Pada bagian ini, kita akan melihat struktur ObjectId.

ObjectId BSON adalah tipe data 12-byte, memiliki format berikut:

  • Pertama empat byte timestamp
  • Tiga byte berikutnya kode mesin adalah
  • Segera dua byte disusun oleh proses id (PID)
  • Tiga byte terakhir dari nomor acak.

dokumen MongoDB disimpan harus ada "_id" kunci. Nilai kunci ini dapat jenis, default adalah objek ObjectId.

Dalam satu set dalam setiap dokumen memiliki unik "_id" nilai, untuk memastikan koleksi dalam setiap dokumen dapat diidentifikasi secara unik.

MongoDB menggunakan ObjectId, tetapi pendekatan bukan alasan utama lain yang lebih konvensional (seperti kunci utama auto-increment), karena nilai kunci primer secara otomatis meningkat sinkronisasi di beberapa server juga memakan waktu dan tenaga.


Buat ObjectId baru

Gunakan kode berikut untuk menghasilkan ObjectId baru:

>newObjectId = ObjectId()

Pernyataan di atas mengembalikan berikut dihasilkan unik id:

ObjectId("5349b4ddd2781d08c09890f3")

Anda juga dapat menggunakan id yang dihasilkan bukan MongoDB secara otomatis ObjectId:

>myObjectId = ObjectId("5349b4ddd2781d08c09890f4")

dokumen penciptaan timestamp

Sejak ObjectId disimpan dalam empat byte dari waktu yang tertera, sehingga Anda tidak perlu menyimpan bidang timestamp untuk dokumen Anda, Anda dapat membuat waktu untuk mendapatkan dokumen dengan fungsi getTimestamp:

>ObjectId("5349b4ddd2781d08c09890f4").getTimestamp()

Kode di atas akan kembali saat ISO pembuatan dokumen Format:

ISODate("2014-04-12T21:49:17Z")

ObjectId dikonversi ke string

Dalam beberapa kasus, Anda mungkin perlu mengkonversi format string ObjectId. Anda dapat menggunakan kode berikut:

>new ObjectId().str

Kode di atas akan mengembalikan format string Guid ::

5349b4ddd2781d08c09890f3

Setelah sukses dengan instalasi MongoDB, kita akan lanjut dengan tutorial membuat database dan manajemen collection.

Ada beberapa istilah di MongoDB yang mirip dengan database relasional sepert MySQL antara lain

Database SQL (MySQL) Database MongoDB
Database Database
Table Collection
Field / Column Field
Row Document

Contents

  • 1 Membuat & Menghapus Database
  • 2 Manajemen Collection
  • 3 Insert, Query, Update, Delete
    • 3.1 #1 Insert
    • 3.2 #2 Query
    • 3.3 #3 Update
    • 3.4 #4 Delete

Membuat & Menghapus Database

Pertama kita akan buat database terlebih dahulu..

Contoh kasusnya adalah sama dengan kasus di artikel Database MySQL yaitu

Nama database : kampus
Nama collection : mahasiswa
Nama field : nim, nama, alamat

Saat membuat database gunakan perintah

use nama_database

Jika ingin membuat database kampus maka gunakan perintah

> use kampus
switched to db kampus

Database kampus akan terbuat tetapi tidak akan muncul jika ditampilkan semua list database karena di dalam database kampus tidak terdapat document apapun

Gunakan perintah db.mahasiswa.insert untuk menambahkan satu document dengan nama koleksi mahasiswa di database kampus

> db.mahasiswa.insert({"nim":"21400200", "nama":"faqih", "alamat":"bandung"})
WriteResult({ "nInserted" : 1 })

Dan list semua database dengan perintah

> show dbs
admin   0.000GB
config  0.000GB
kampus  0.000GB
local   0.000GB

Oke sekarang sudah ada database kampus di list database

Untuk menghapus database pastikan anda sudah masuk di dalam database yang ingin dihapus

Gunakan perintah db.dropDatabase() untuk menghapus database

> use kampus
switched to db kampus
> db.dropDatabase()
{ "dropped" : "kampus", "ok" : 1 }
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

Manajemen Collection

collection atau koleksi merupakan istilah table di MongoDB

Di pembahasan membuat database telah disinggung sekilas dalam membuat collection.

Untuk membuat koleksi kita dapat langsung lakukan operasi insert data yang didalamnya terdapat nama koleksi seperti saat menambah data mahasiswa

Atau kita bisa inisialisasikan diawal dalam pembuatan collection dengan perintah

db.createCollection("nama koleksi")

Misal kita ingin membuat collection mahasiswa di dalam database kampus maka

> use kampus
switched to db kampus
> db.createCollection("mahasiswa")
{ "ok" : 1 }
> show collections
mahasiswa

Sekali lagi, mungkin perintah ini tidak diperlukan karena saat melakukan operasi insert maka secara otomatis collection juga akan dibikin jika belum ada

Sedangkan untuk menghapus collection gunakan perintah

db.collection_name.drop()
> db.mahasiswa.drop()
true

Insert, Query, Update, Delete

Seperti halnya MySQL yang menyediakan fungsi data manipulation language (DML), MongoDB juga bisa melakukan proses insert, query, update dan delete

#1 Insert

Untuk menambahkan document / record gunakan perintah

db.collection_name.insert(document)

Bentuk penulisan document adalah key value seperti penulisan dictionary di Python

Misal kita insert nim, nama dan alamat makan bentuk key value -nya adalah seperti ini

{
    "nim":"21400200", 
    "nama":"faqih", 
    "alamat":"bandung"
}

Sehingga perintah insert document MongoDB menjadi seperti ini

> db.mahasiswa.insert(
    {
        "nim":"21400200", 
        "nama":"faqih", 
        "alamat":"bandung"
    })

Atau jika ditulis dalam satu baris menjadi

> db.mahasiswa.insert({"nim":"21400200", "nama":"faqih", "alamat":"bandung"})

Jika ingin insert lebih dari satu document gunakan array seperti ini

> db.mahasiswa.insert([
    {
        "nim":"21400200", 
        "nama":"faqih", 
        "alamat":"bandung"
    },{
        "nim":"21400201", 
        "nama":"zaki", 
        "alamat":"padang",
        "hobi": "coding"
    }
])

Kita bisa menambahkan field untuk document yang berbeda karena fleksibilitas skema database NoSQL tidak perlu mendefinisikan nama field di awal seperti MySQL

#2 Query

Untuk melakukan menampilkan data gunakan perintah query seperti ini

db.collection_name.find()

Sedangkan jika ingin menampilkan secara cantik gunakan tambahan perintah pretty()

db.collection_name.find().pretty()
> db.mahasiswa.find()
{ "_id" : ObjectId("5e27dc0736652fbbc379af33"), "nim" : "21400200", "nama" : "faqih", "alamat" : "bandung" }
{ "_id" : ObjectId("5e27dc0736652fbbc379af34"), "nim" : "21400201", "nama" : "zaki", "alamat" : "padang", "hobi" : "coding" }

> db.mahasiswa.find().pretty()
{
	"_id" : ObjectId("5e27dc0736652fbbc379af33"),
	"nim" : "21400200",
	"nama" : "faqih",
	"alamat" : "bandung"
}
{
	"_id" : ObjectId("5e27dc0736652fbbc379af34"),
	"nim" : "21400201",
	"nama" : "zaki",
	"alamat" : "padang",
	"hobi" : "coding"
}

Jika ingin mencari document tertentu berdasarkan field-nya cukup masukkan value yang ingin dicari di dalam fungsi find()

> db.mahasiswa.find({"nama":"faqih"})
{ "_id" : ObjectId("5e27dc0736652fbbc379af33"), "nim" : "21400200", "nama" : "faqih", "alamat" : "bandung" }
#3 Update

Untuk melakukan perubahan document gunakan perintah

db.collection_name.update({nilai document lama}, {$set:{nilai document baru}})

Nilai document lama = kondisi document yang ingin diupdate nilainya

Nilai document baru = Nilai baru untuk document yang ingin diupdate

Misal kita ingin merubah alamat “padang” menjadi “surabaya” maka perintah akan seperti ini

> db.mahasiswa.update({"alamat":"padang"}, {$set:{"alamat":"surabaya"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

> db.mahasiswa.find()
{ "_id" : ObjectId("5e27dc0736652fbbc379af33"), "nim" : "21400200", "nama" : "faqih", "alamat" : "bandung" }
{ "_id" : ObjectId("5e27dc0736652fbbc379af34"), "nim" : "21400201", "nama" : "zaki", "alamat" : "surabaya", "hobi" : "coding" }
#4 Delete

Untuk delete document gunakan perintah

db.collection_name.remove(nilai dokumen)

nilai dokumen = kondisi nilai dokumen yang ingin dihapus

Misal kita akan menghapus document mahasiswa yang berasal dari bandung, maka

> db.mahasiswa.remove({"alamat":"bandung"})

Oke.. selamat anda telah sukses membuat database, collection dan melakukan manipulasi document

Materi selanjutnya akan membahas penggunakan tools berbasis user interface (UI) untuk memudahkan dalam manajemen database

Beberapa materi MongoDB antara lain

  • Memahami Konsep Database NoSQL
  • Cara Mudah Install Database MongoDB
  • Cara Membuat Database dan Manajemen Collection
  • Manajemen Database MongoDB dengan GUI
  • Manajemen MongoDB dengan Python