lifelong learner — urip iku urup, currently working on accenture.

Mongodb – perintah dasar part 1/5

0
Degananda.com -

Mongo dan mongoose adalah dua entitas yang berbeda. Mongoose adalah sebuah framework yang ditulis dengan javascript dan berjalan pada Nodejs untuk mengelola mongodb. Penulisan query juga berbeda antara mongoose dan mongo hal ini seperti sql query pada mysql dan querybuilder pada code igniter. Mongoose dan code igniter memiliki query yang jauh lebih powerful dan simpel dikarenakan memang didesain untuk memudahkan programmer (more highlevel). Sehingga perintah-perintah mongodb pada ulasan ini bukanlah untuk mongoose dikarenakan banyak yang salah kapra mengenai dua hal ini.

Selayang pandang

Pada ulasan kali ini akan membahas mengenai perintah-perintah dasar yang digunakan untuk mengelola database pada mongodb. Namun di ulasan ini tidak membahas mengenai “Data modeling dalam MongoDB” pembahasan tersebut akan dilakukan di ulasan yang berbeda kita hanya fokus terhadap perintah-perintah dasar pada MongoDb. Jika pada komputer / laptop anda belum terinstall mongodb maka anda dapat mengunduhnya secara langsung di : http://www.mongodb.org/downloads. Sebelum membaca perintah – perintah dasar yang ada pada mongodb ada beberapa terminologi yang harus di mengerti terkait dengan perbedaan antara RDBMS dan MongoDB.

Berikut ini adalah daftar terminologi rdbms vs mongodb

Mongodb Rdbms
Database Database
Collection Table
Document Row / tuple
Field Column
Embedded Document Table join
Primary Key Primary Key

sehingga jika anda familiar dengan rdbms seperti mysql , postgre atau yang lain maka terminologinnya sedikit berubah meski secara makna hampir sama namun pada kenyataanya berbeda. Contohnya embedded document dan table join maknanya adalah menggabungkan dua collection/table namun prosesnya sangat berbeda. Join pada mongodb sangat simpel berbeda sekali dengan join pada rdbms yang sangat komplex (dapat melakukan join secara komplex).

Primary key pada mongodb akan secara default digenerate. Berbeda dengan rdbms yang harus kita definisikan terlebih dahulu misalnya melalui auto_increment ataupun dengan menggunakan surrogate key. Itulah beberapa perbedaan mongodb dan rdbms yang dapat dibahas secara singkat terdapat banyak perbedaan antara mongodb dan rdbms yang dapat kita pelajari namun tidak tercover oleh ulasan ini karena hanya berfokus pada perintah-perintah dasar pada mongodb.

Perintah dasar mongodb

1. Database Stuff

1.1 Login ke mongo

pada console / terminal / cmd ketikan perintah berikut

mongo

maka anda akan masuk pada commandline mongodb. gunakan “exit” untuk keluar dari commandline.

1.2 Membuat  & menggunakan database

untuk membuat database perintah yang digunakan adalah

use "nama_database"

1.3 Melihat daftar database

show dbs

perintah diatas akan memunculkan daftar database pada sistem. Namun hanya database yang setidaknya memiliki satu buah collection yang akan ditampilkan. Jika database tidak memiliki satupun collection akan dianggap bukan database oleh mongodb.

1.4 Melihat database yang digunakan

perintah yang digunakan untuk melihat database yang saat ini kita gunakan adalah

db

1.5 drop database / menghapus database

perintah yang digunakan untuk menghapus database adalah

db.dropDatabase()

namun untuk menjalankan perintah diatas anda harus berada dalam suatu database tertentu. Untuk dapat masuk ke database tertentu lihat bagian 1.2


2. Collection

collection dalam rdbms berarti “tabel”. Untuk membuat collection pada mongodb yang diperlukan adalah sebuah database. Sehingga pastikan anda telah berada dalam suatu database untuk dapat membuat collection.

2.1 membuat collection

perintah yang digunakan untuk membuat collection adalah

db.createCollection(nama_database, opsi)

Opsi/Option tidak harus di definisikan saat membuat collection pada mongodb. terdapat 4 opsi pada saat membuat collection yakni

capped : boolean membatasi size(bytes) pada collection dan jika melebihi kapasitasnya maka akan melakukan overwrite , jika menggunakan parameter capped maka secara otomatis harus menggunakan parameter size
size : Number membatasi kapasitas collection dalam satuan bytes.
autoIndexId : boolean secara default bernilai false, jika true maka secara otomatis membuat index pada _id. Index sangat berguna untuk meningkatkan performa search.
max : number maksimum jumlah dokumen pada suatu capped collection (capped harus bernilai true). Gunakan max jika ingin membatasi dalam jumlah dokumen, gunakan size jika ingin membatasi dalam bentuk jumlah bytes collection.

contoh penggunaan

db.createCollection('note', { autoIndexId : true })

2.2 Menampilkan daftar collection

anda harus berada dalam suatu database untuk menjalankan perintah dibawah ini

show collections

2.3 Membuat collection otomatis saat menambahkan dokumen

pada mongoDb jika anda menggunakan perintah dibawah ini maka collection akan secara otomatis tergenerate

db.nama_collection.insert(document)

contohnya

db.note.insert({"judul":"matematika", "deskripsi":"percobaan"})

maka mongodb akan secara otomatis membuat collection baru bernama “note” dengan satu dokumen didalamnya(sesuai dengan yang kita tuliskan pada perintah diatas.

2.4 Drop Collection

anda harus berada dalam suatu database untuk melakukan drop collection. Perintah yang digunakan adalah

db.nama_collection.drop()

proses drop yang berhasil akan memberikan return berupa “true” jika gagal akan memberikan return  berupa “false”.


3. Data type / Tipe data

Setiap database (mongo,mysql,firebase, dan lain sebagainya) tentunnya memiliki tipedata masing-masing. Ada tipedata umum seperti string, interger dan lain-lain. Berikut ini adalah beberapa daftar tipe data umum yang dapat kita gunakan pada mongodb.

Nama tipedata Deskripsi
 string  as usually, format string menggunakan utf-8
integer untuk menyimpan angka yang dapat dioperasikan. panjangnya 32bit ataupun 64 tergantung dari server/komputer yang digunakan.
boolean true or false
double untuk menyimpan angka desimal
min / max untuk membandingkan nilai tertinggi atau terendah dari BSON
array menyimpan beberapa nilai dalam bentuk array. Salah satu contohnya digunakan untuk menyimpan tags pada post.
timestamp menyimpan waktu saat sebuah perintah dilakukan. Misalnya menyimpan waktu post / login.
object untuk melakukan embedded document (saat melakukan “join”)
date menyimpan datetime saat ini, hampir sama dengan timestamp namun memiliki value yang berbeda. Saran kami gunakanlah berdasarkan kondisi. Timestamp digunakan karena mudah mengoperasikannya (lebih dari tanggal sekarang, kurang dari tanggal sekarang dan lain sebagainnya).
object id id dari dokumen (primary key)
regular expression untuk menyimpan aturan regex.

itulah beberapa tipe data yang umumnya digunakan pada mongodb. Berahir sudah ulasan part pertama ini , pada part kedua nanti akan membahas mengenai

  • dokumen
  • querying dokumen (mongodb).