Operasi CRUD pada MongoDB

Posted by Admin on 15 April 2018, 00:24 database, mongodb, nosql

Operasi CRUD : Create, Read, Update, Delete pada MongoDB. Sebelum memulai, silakan nyalakan dahulu service MongoDB

Memilih/Membuat Database

Sebelum melakukan proses CRUD, silakan pilih atau buat database dahulu dengan perintah berikut

use contohDB

Nama database yang saya gunakan adalah contohDB

 

Create

Create atau Insert data/dokumen baru pada collection. Jika collection belum ada pada database, maka dia akan membuat collection baru

MongoDB Create Collection

Terdapat 2 metode untuk melakukan Insert data pada collection

db.collection.insertOne()
db.collection.insertMany() 

Metode pertama, insert data 1 buah, contoh insert data ke collection inventory

db.inventory.insertOne(
   { item: "canvas", qty: 100, tags: ["cotton"], SIZE: { h: 28, w: 35.5, uom: "cm" } }
)

Untuk menampilkan data yang telah diinput, gunakan perintah berikut

db.inventory.find( { item: "canvas" } )

Metode Kedua, insert data lebih dari 1, contoh insert banyak data ke collection inventory

db.inventory.insertMany([
   { item: "journal", qty: 25, tags: ["blank", "red"], SIZE: { h: 14, w: 21, uom: "cm" } },
   { item: "mat", qty: 85, tags: ["gray"], SIZE: { h: 27.9, w: 35.5, uom: "cm" } },
   { item: "mousepad", qty: 25, tags: ["gel", "blue"], SIZE: { h: 19, w: 22.85, uom: "cm" } }
])

Untuk menampilkan isi collection, gunakan perintah berikut

db.inventory.find()

 

Read

Operasi baca untuk mengambil dokumen dari collection, yaitu query collection untuk dokumen. MongoDB menyediakan metode berikut

db.collection.find()

MongoDB Read Collection 

Sebelum melakukan read collection, disini saya akan memasukkan data kembali dengan perintah berikut

db.inventory.insertMany([
   { item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
   { item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" },
   { item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
   { item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
   { item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }
])

Untuk membaca semua data diatas, gunakan perintah berikut

db.inventory.find( {} )

Perintah ini, sama halnya dengan perintah SQL berikut

SELECT * FROM inventory

Untuk melakukan read collection secara spesifik, misal membaca collection dengan kondisi status D, gunakan perintah berikut

db.inventory.find( { status: "D" } )

Perintah diatas, sama seperti perintah SQL berikut

SELECT * FROM inventory WHERE STATUS = "D"

Untuk membaca data dengan kondisi status A atau D, bisa menggunakan $or atau $in, disini saya menggunakan $in karena performa $in lebih bagus

db.inventory.find( { status: { $in: [ "A", "D" ] } } )

Perintah diatas, seperti perintah SQL berikut

SELECT * FROM inventory WHERE STATUS IN ("A", "D")

Kondisi AND. Contoh membaca data dengan kondisi status A dan qty < 30

db.inventory.find( { status: "A", qty: { $lt: 30 } } )

Perintah diatas, seperti perintah SQL berikut

SELECT * FROM inventory WHERE STATUS = "A" AND qty < 30

Kondisi OR. Contoh membaca data dengan kondisi status A atau qty < 30

db.inventory.find( { $or: [ { status: "A" }, { qty: { $lt: 30 } } ] } )

Perintah diatas, seperti perintah SQL berikut

SELECT * FROM inventory WHERE STATUS = "A" OR qty < 30

Kondisi AND dan OR. Contoh membaca data dengan kondisi status A dan (qty<30 atau item mengandung kata p diawal)

db.inventory.find( {
     status: "A",
     $or: [ { qty: { $lt: 30 } }, { item: /^p/ } ]
} )

Perintah diatas seperti perintah SQL berikut

SELECT * FROM inventory WHERE STATUS = "A" AND ( qty < 30 OR item LIKE "p%")

 

Update

Merupakan perintah untuk memodifikasi data yang sudah ada. MongoDB menyediakan perintah-perintah update sebagai berikut

db.collection.updateOne()
db.collection.updateMany()
db.collection.replaceOne()

Anda dapat melakuan update dengan kondisi diawal, lalu diikuti data yang akan diupdate

MongoDB Update Collection

 

Delete

Delete merupakan perintah untuk menghapus data dari collection. MongoDB menyedikan perintah berikut untuk menghapus collection

db.collection.deleteOne()
db.collection.deleteMany()

Untuk keterangan penggunaan delete, seperti berikut

MongoDB Delete Collection

 

Referensi

https://docs.mongodb.com/manual/crud/