MongoDB adalah database yang berorientasi pada dokumen atau document oriented database. MongoDB disebut sebagai document oriented database karena cara kerja nya dalam menyimpan data. dalam MongoDB, data akan disimpan dalam sebuah collection, dimana setiap data tersebut disebut sebagai document.
MongoDB masuk dalam keluarga noSQL
MongoDB menyimpan data benbentuk JSON ke dalam storage dengan bentuk BSON (Binary). jadi setiap operasi pada MongoDB, akan banyak menggunakan JSON
Perhatian
Penulisan perintah dalam repo ini menggunakan beberapa tanda yang ditampilkan hanya sebagai pendukung untuk memudahkan pembaca. tanda yang digunakan adalah > dan $. kedua tanda tersebut tidak perlu di copy
Instalasi
Silahkan lihat tahap2 di link ini
ketika MongoDB terinstall, akan ada beberapa program mongo yang dapat dieksekusi. namun yang umum digunakan adalah dua yaitu mongo dan mongod
mongo adalah database client dari MongoDB. program ini digunakan untuk melakukan operasi terhadap database, collection dll. simpelnya, disini kita melakukan querynya
mongod adalah program untuk menjalankan mongodb itu sendiri. program mongo tidak akan bisa dijalankan jika tidak ada service mongoDB yang berjalan.
Menjalankan
mongodterdapat beberapa cara menjalankan yaitu :
Sebagai Service
untuk menjalankan MongoDB sebagai service yang perlu dilakukan adalah cukup dengan perintah standar > use book 5 ataupun > use book 6
berikut perintahnya
$ sudo systemctl start mongod.service
Manual
untuk menjalankan MongoDB secara manual, anda dapat menggunakan perintah yang sudah disediakan MongoDB yaitu mongod
Buat folder untuk menyimpan file database. contoh > use book 7
Jalankan perintah mongod dan arahkan dbpath ke folder yang telah dibuat. ketik diterminal > use book 8
kita juga bisa mengatur port jika ingin tidak ingin menggunakan port standar. cukup berikan argumen --port dengan valuenya. contoh > use book 9
mongountuk menjalankan MongoDB client, cukup ketik perintah
$ mongo
pastikan mongod telah berjalan
Perintah & Query
Untuk menjalankan perintah & query, pastikan ada sudah berada dalam program client dari MongoDB / mongo. jika belum, jalankan perintah mongod, lalu jalankan program mongo.
Membuat Databaseuntuk membuat database, gunakan perintah > show dbs 0. perintah use berisikan 1 argumen yaitu nama database
contoh perintah membuat database book
> use book
Menampilkan Databasesuntuk melihat database, gunakan perintah
> show dbs
ketika pertama kali menjalankan perintah > show dbs 1 akan terdapat 3 database. 3 database tersebut adalah database standard di mongodb
Menghapus Databaseuntuk menghapus Database, gunakan perintah
> db.dropDatabse()
pastikan anda telah memilih database sebelum menghapus database.
untuk mengecek database yang terpilih, cukup ketikan perintah > show dbs 2
Mengubah Databasesampai saat ini belum ada cara mengubah nama database secara official dari mongodbnya. untuk mengubah nama, diperlukan cara2 tricky
Membuat Collectionuntuk membuat collection gunakan perintah
> db.createCollection('namacollection')
atau bisa juga dengan langsung menuliskan query untuk menginput document. mongo akan otomatis membuat collection tersebut
> db.namacollection.insertOne({judul: "judul"})
Menampilkan Collectionuntuk melihat database, gunakan perintah
> show collections
Mengubah Collectionuntuk mengubah nama collection, gunakan perintah
> db.namaCollection.renameCollection(namaBaruCollection)
Menghapus Collectionuntuk mengubah nama collection, gunakan perintah
> db.namaCollection.drop()
Membuat Dokumenuntuk membuat / menambahkan dokumen bisa menggunakan 3 cara yaitu
insertOne
insertOne digunakan untuk menambahkan satu dokumen kedalam collection.
insertOne menerima data dokumen berbentuk objek atau json
$ mongo 0
perintah diatas akan mengembalikan respon kurang lebih seperti dibawah
$ mongo 1
valu dari _id adalah value yang digenerate otomatis oleh mongoDB. _id adalah pembeda dari masing2 dokumen, layaknya primary key dalam SQL
insertMany
insertMany digunakan untuk menambahkan dokumen dengan jumlah lebih dari 1
insertMany menerima data dokumen berupa list atau array dari beberapa/banyak dokumen
$ mongo 2
perintah diatas akan menghasilkan respon kurang lebih seperti dibawah
$ mongo 3
insert
insert adalah kombinasi dari insertOne dan insertMany, insert menerima data dokumen berupa object ataupun list/array
$ mongo 4
respon yang dihasilkan oleh perintah insert berbeda dengan insertOne dan insertMany. insert akan mengembalikan response berupa writeResult dan bulkWriteResult. respon dari insert kurang lebih seperti dibawah
$ mongo 5
Membaca Dokumenuntuk membaca dokumen, kita bisa menggunakan 2 cara yaitu
find
find adalah perintah standar untuk menampilkan dokumen. find akan mengembalikan response dalam bentuk list/array
Menampilkan Semua Data
$ mongo 6
Menampilkan Data dengan Query
$ mongo 7
perintah diatas digunakan untuk menampilkan semua dokumen yang memiliki attibut nama dengan value budi
findOne
find digunakan untuk menampilkan 1 dokumen. apabila terdapat lebih dari satu dokumen yang sama, maka findOne akan mengembalikan hasil pertama
$ mongo 8
Mengubah Dokumenuntuk mengubah dokumen, kita bisa menggunakan 3 cara yaitu updateOne, updateMany dan update. semua perintah tersebut membutuhkan minimal 2 argument/parameter yaitu :
- query untuk menentukan yang akan diubah
- data baru untuk menggantikan data lama
updateOne
updateOne digunakan untuk mengupdate 1 dokumen.
$ mongo 9
contoh perintah diatas jika eksekusi maka akan mengubah 1 data pertama yang memiliki > show dbs 3 budi, dan mengubah > show dbs 3 menjadi andi
updateMany
updateMany digunakan untuk mengupdate semua dokumen yang sesuai dengan query.
> use book 0
contoh perintah diatas jika eksekusi maka akan mengubah semua data yang memiliki > show dbs 3 budi, dan mengubah > show dbs 3 menjadi andi
update
update digunakan untuk mengupdate dokumen yang sesuai dengan query. perintah update dapat mengupdate satu maupun banyak dokumen. update juga dapat digunakan untuk melakukan operasi replace. untuk melakukan operasi update, diperlukan 3 parameter/argumen yaitu
- > show dbs 7 untuk mengfilter dokumen mana yang perlu diubah
- > show dbs 8 sebagai data untuk mengganti data lama
- > show dbs 9 untuk menentukan operasi mana yang ingin dilakukan terhadap dokumen
> use book 1
Menghapus Dokumenuntuk menghapus dokumen, kita bisa menggunakan 2 cara yaitu deleteOne, deleteMany.
deleteOne deleteOne digunakan untuk menghapus 1 dokumen.
> use book 2
perintah diatas akan menghapus 1 dokumen yang memiliki attribut > show dbs 3 dengan > db.dropDatabse() 1 budi.
deleteMany deleteMany digunakan untuk menghapus beberapa/banyak dokumen.
> use book 3
perintah diatas akan menghapus semua dokumen yang memiliki attribut > show dbs 3 dengan > db.dropDatabse() 1 budi.
Tambahan
untuk menghapus berdasarkan _id dokumen, diperlukan sedikit tambahan yaitu seperti berikut
> use book 4
seperti pada contoh diatas, diperlukan bagi pengguna untuk menambahkan ObjectId pada _id dari dokumen