Cara menggunakan mongodb code

Cara menggunakan mongodb code


Pada part ini kita akan mulai menggunakan MongoDB Shell untuk lebih mengenal MongoDB dalam penggunaannya, terlebih dalam pengoperasian fungsi query NoSQL database.

Untuk memulai menggunakan MongoDB Shell, pastikan terlebih dahulu service MongoDB sudah dijalankan. Untuk dapat mengakses server secara kustom, seperti hostname/IP server, port dan database, gunakan perintah berikut dari terminal:

mongo host_server:27017/myDB <== 27017 port default MongoDB

Contoh di atas diasumsikan kita sudah mempunyai database yang akan diakses, namun bila kita belum punya database maka gunakan perintah berikut:

mongo
> help <== untuk melihat kumpulan perintah shell
> show dbs <== menampilkan nama database
> use myDB <== gunakan database myDB atau buat db myDB
> exit <== keluar dari shell

Contoh perintah di atas adalah untuk kasus memulai akses database, bila nantinya kita sudah punya database yang akan dihandle maka saya pribadi lebih senang menggunakan cara berikut ini:

mongo --nodb
> conn = new Mongo("host_server:27017")
> db = conn.getDB("myDB")

Cukup sederhana dan tentunya lebih terlihat terstruktur, akan tetapi bukan berarti harus menggunakannya, mungkin ada cara lain yang lebih bagus yang bisa ditemukan di internet.

Seperti yang kita tahu sebelumnya kalau "mongo" sederhananya adalah JavaScript shell, dengan begitu kita bisa melihat JavaScript dokumentasi sebagai referensi. Untuk fungsi MongoDB secara spesific, sudah terdapat fungsi built-in yang dapat dilihat dengan perintah "help" seperti contoh sebelumnya di atas.

Untuk tingkatan level tersedia melalui parameter masing-masing, misalnya level database (berada dalam shell database yang digunakan) yaitu "db.help()" dan untuk level collection yaitu "db.nmcollection.help()"

Ada hal yang mungkin bisa dikatakan unik dalam MongoDB shell, misalkan kita ingin mengetahui seperti apa sebuah fungsi bekerja dalam mengolah data, dalam hal ini kita ingin mengetahui bagaimana fungsi update bekerja, maka cukup lakukan perintah berikut melalui shell:

> db.books.update

Dari hasil diatas maka akan tampak barisan kode JavaScript yang menghandle fungsi tersebut. Perlu diketahui, pada contoh tersebut kita tidak menggunakan tanda kurung "()" pada akhir nama fungsi, hal ini bertujuan untuk menguak isi dari fungsi tersebut, tetapi bisa kita menggunakan tanda kurung "()" pada nama fungsi tersebut "update()" maka berarti fungsi akan dieksekusi.

Part 1: Tutorial MongoDB: Pengenalan MongoDB - Part 1
Part 2: Tutorial MongoDB: Mengoperasikan MongoDB - Part 2
Part 3: Tutorial MongoDB: Tipe Data MongoDB - Part 3
Part 4: Tutorial MongoDB: Tipe Data MongoDB (Tambahan) - Part 4
Part 5: Tutorial MongoDB: Dasar MongoDB Shell - Part 5
Part 6: Tutorial MongoDB: Operasi CRUD - Part 6

Itulah sedikit dasar dalam menggunakan MongoDB shell, jika ada yang salah ataupun ada hal yang ingin ditanyakan silakan isi komentar dibawah, dan jangan lupa tetap kunjungi blog ini ataupun bookmark label tag mongodb untuk update part selanjutnya.

Belajar Mongo

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

mongod

terdapat beberapa cara menjalankan yaitu :

Sebagai Service

untuk menjalankan MongoDB sebagai service yang perlu dilakukan adalah cukup dengan perintah standar systemctl ataupun service

berikut perintahnya

$ sudo systemctl start mongod.service

Manual

untuk menjalankan MongoDB secara manual, anda dapat menggunakan perintah yang sudah disediakan MongoDB yaitu mongod

  1. Buat folder untuk menyimpan file database. contoh mkdir ~/mongo-data/

  2. Jalankan perintah mongod dan arahkan dbpath ke folder yang telah dibuat. ketik diterminal sudo mongod --dbpath ~/mongo-data

kita juga bisa mengatur port jika ingin tidak ingin menggunakan port standar. cukup berikan argumen --port dengan valuenya. contoh mongod --dbpath ~/mongo-data --port 12880

mongo

untuk menjalankan MongoDB client, cukup ketik perintah

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 Database

untuk membuat database, gunakan perintah use. perintah use berisikan 1 argumen yaitu nama database

contoh perintah membuat database book

Menampilkan Databases

untuk melihat database, gunakan perintah

ketika pertama kali menjalankan perintah show dbs akan terdapat 3 database. 3 database tersebut adalah database standard di mongodb

Menghapus Database

untuk menghapus Database, gunakan perintah

pastikan anda telah memilih database sebelum menghapus database.

untuk mengecek database yang terpilih, cukup ketikan perintah db

Mengubah Database

sampai saat ini belum ada cara mengubah nama database secara official dari mongodbnya. untuk mengubah nama, diperlukan cara2 tricky

Membuat Collection

untuk 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 Collection

untuk melihat database, gunakan perintah

Mengubah Collection

untuk mengubah nama collection, gunakan perintah

> db.namaCollection.renameCollection(namaBaruCollection)

Menghapus Collection

untuk mengubah nama collection, gunakan perintah

> db.namaCollection.drop()

Membuat Dokumen

untuk 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

> db.namaCollection.insertOne({contohKey: "contohValue""})

perintah diatas akan mengembalikan respon kurang lebih seperti dibawah

{ "_id" : ObjectId("5d59dfa3f0650355d96637bc"), "contohKey" : "contohValue" }

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

> db.namaCollection.insertMany([{contohKey: "contohValue"}, {contohKey2: "contohValue2"}])

perintah diatas akan menghasilkan respon kurang lebih seperti dibawah

{
    "acknowledged" : true,
    "insertedIds" : [
        ObjectId("5d59e39df0650355d96637c0"),
        ObjectId("5d59e39df0650355d96637c1")
    ]
}

insert

insert adalah kombinasi dari insertOne dan insertMany, insert menerima data dokumen berupa object ataupun list/array

db.namaCollection.insertMany([{contohKey: "contohValue"}, {contohKey2: "contohValue2"}])

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

BulkWriteResult({
    "writeErrors" : [ ],
    "writeConcernErrors" : [ ],
    "nInserted" : 2,
    "nUpserted" : 0,
    "nMatched" : 0,
    "nModified" : 0,
    "nRemoved" : 0,
    "upserted" : [ ]
})

Membaca Dokumen

untuk 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

    > db.namaCollection.find() 
    atau 
    > db.namaCollection.find({})
    

  • Menampilkan Data dengan Query

    > db.namaCollection.find({nama: "budi"})
    

    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

 > db.namaCollection.findOne() 
 atau
 > db.namaCollection.findOne({nama: "budi"}) // dengan query

Mengubah Dokumen

untuk 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.

> db.namaCollection.updateOne({query}, {$set: dataBaru})
contoh
> db.namaCollection.updateOne({nama: "budi"}, {$set: {nama: "andi"}})

contoh perintah diatas jika eksekusi maka akan mengubah 1 data pertama yang memiliki nama budi, dan mengubah nama menjadi andi

updateMany

updateMany digunakan untuk mengupdate semua dokumen yang sesuai dengan query.

> db.namaCollection.updateMany({nama: "budi"}, {$set: {nama: "andi"}})

contoh perintah diatas jika eksekusi maka akan mengubah semua data yang memiliki nama budi, dan mengubah nama 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

  • query untuk mengfilter dokumen mana yang perlu diubah
  • databaru sebagai data untuk mengganti data lama
  • options untuk menentukan operasi mana yang ingin dilakukan terhadap dokumen

> db.namaCollection.update() !! COMING SOON

Menghapus Dokumen

untuk menghapus dokumen, kita bisa menggunakan 2 cara yaitu deleteOne, deleteMany.

deleteOne deleteOne digunakan untuk menghapus 1 dokumen.

> db.namaCollection.deleteOne({query})
contoh
> db.namaCollection.deleteOne({nama: "budi"})

perintah diatas akan menghapus 1 dokumen yang memiliki attribut nama dengan value budi.

deleteMany deleteMany digunakan untuk menghapus beberapa/banyak dokumen.

> db.namaCollection.deleteMany({query})
contoh
> db.namaCollection.deleteMany({nama: "budi"})

perintah diatas akan menghapus semua dokumen yang memiliki attribut nama dengan value budi.

Tambahan

untuk menghapus berdasarkan _id dokumen, diperlukan sedikit tambahan yaitu seperti berikut

>  db.namaCollection.deleteMany({ _id: ObjectId(_idDariDokumen)})

seperti pada contoh diatas, diperlukan bagi pengguna untuk menambahkan ObjectId pada _id dari dokumen

Kursor / Cursor

Coming Soon

- / Embedded Document

Coming Soon

Operator

Coming Soon

Skema / Schema

Coming Soon

MongoDB menggunakan bahasa apa?

Bahasa MongoDB MongoDB tidak menggunakan bahasa SQL, tapi menggunakan bahasa BSON (Binary JSON). JSON adalah konsep pertukaran data secara ringkas, terstruktur, sederhana, asosiatif dan terserialisasi.

MongoDB digunakan untuk apa?

MongoDB mampu menampung lebih banyak data kompleks karena menggunakan schema table yang dinamis (dynamic schema). Dengan skema data tersebut, database ini bisa menyimpan data yang lebih bervariasi, mulai dari data terstruktur hingga tidak terstruktur.

Apa perbedaan MongoDB dan MySQL?

Apa itu MySQL: Perbedaannya Dengan MongoDB. Hal mendasar yang bisa membedakan MongoDB dengan MySQL adalah sifat database MySQL untuk penyimpanan data relasional, sedangkan MongoDB adalah database untuk penyimpanan data dokumen.

Apa itu Collection di MongoDB?

Collection – merupakan tempat kumpulan informasi data yang berbentuk dokumen. Collection dipadankan seperti tabel-tabel yang berisi data pada database SQL. Document – merupakan satuan unit terkecil dalam MongoDB.