Node JS + MongoDB : Simple RESTful tutorial (Part 1)

ssss

Sudah lama sekali saya gak nulis di blog ini, karena numpuknya deadline ( halah, alesan ūüôĀ ) yang harus dikejar jadi merasa selalu kehabisan energi tiap mau mulai nulis, akhirnya sekalinya sempet paling bikin tutorial video. Beberapa tutorial yang saya buat dalam bentuk video, bisa Anda lihat dan juga subscribe channel youtube saya di :¬†https://www.youtube.com/hynracom.

Oke, pada kesempatan kali ini saya akan coba sharing tutorial membuat simple RESTful web service dengan menggunakan Node JS + Express JS + MongoDB. Ini bisa jadi starting point Anda untuk memahami bagaimana basic CRUD pada mongodb dan mengimplemtasikannya menjadi sebuah web service. Jadi, apa yang akan kita buat ?. Kita mulai dengan hal yang sederhana, misalnya aplikasi Panic Button. Saya rasa semua sudah pada tahu apa kegunaannya. Aplikasi mobile mengirimkan lokasi (bisa geolocation dan juga alamat dimana user berada) ke server, kemudian satu halaman web yang bertindak sebagai Admin untuk memantau setiap pesan panic yang dikirimkan. Sederhana bukan ? so, lets begin.

Install MongoDB

Instalasi pada Windows.

Silahkan Anda download terlebih dahulu di : https://www.mongodb.com/download-center#community. Pilih untuk platform windows. Karena proses instalasi-nya interaktif, saya rasa pada step ini Anda akan sangat familiar dengan instalasi software di windows pada umumnya, jadi saya tidak akan banyak bercerita tentang detailnya.

Buat direktori untuk penyimpanan DB nya, misal :

Jika sudah, mulai jalankan server mongoDB anda dengan mengetik perintah :

mongod.exe dimana Anda menginstall mongoDB pada step sebelumnya, kemudian diikuti direktori dimana Anda ingin menyimpan data dari mongoDB.

Saya asumsikan sampai tahap ini Anda berhasil running mongoDB pada server atau komputer Anda. Selanjutnya kita akan membuat database dengan nama ‘panicbutton‘ pada mongoDB. Jalankan mongo shell dengan mengetikan perintah :

Jika sudah masuk pada terminal mongo, ketik perintah berikut :

Dan ya, Anda sudah membuat database panicbutton.

Instalasi pada MacOS.

Untuk Mac platform, bisa menggunakan bower pada proses instalasi mongoDB.

Buat direktori

Biasanya, instalasi menggunakan bower sudah otomatis dengan setup environment, selanjutnya jalankan mongoDB

buat database

Sedangkan untuk Instalasi pada Linux, ada berbagai variant sehingga Anda bisa ikuti guide nya di : https://docs.mongodb.com/manual/administration/install-on-linux/.

Create new Project

Saya sarankan Anda membuat project dengan menggunakan Express Generator. Atau jika Anda menggunakan WebStorm , Anda bisa dengan mudah membuat project baru dengan bantuan wizard yang ada pada IDE WebStorm. Sehingga hirarki project-nya adalah sebagai berikut :

Jika Anda ingin menggunakan Express Generator, ikuti instruksinya disini : https://expressjs.com/en/starter/generator.html.

Kemudian install package mongodb pada project Anda

Buat folder baru pada root project, misal saya membuat folder configs. Selanjutnya buat file js baru dengan nama db.js, kemudian Inisialisasi mongodb :

Tambahkan variablevariable yang dibutuhkan untuk melakukan koneksi :

DB Host dan DB Port bisa Anda lihat di terminal atau cmd ketika Anda menjalankan server mongod pertamakali. Kemudian lakukan koneksi :

Terakhir, export module :

Next, kita test koneksi, apakah aplikasi yang kita buat sudah terkoneksi dengan mongoDB. Tambahkan line berikut pada app.js :

Jalankan server. Jika Anda menggunakan WebStorm maka Anda tinggal menekan tombol play, atau buka terminal atau cmd, kemudian masuk kedalam root folder project kemudian ketikan perintah :

Jika semuanya oke, maka Anda akan lihat bahwa Aplikasi sudah terkoneksi dengan mongoDB. Lihat console :

Pada part selanjutnya kita akan coba bagaimana membuat dan update user pada collections accounts. Untuk part 1 hanya basic connection antara mongoDB dan aplikasi Node JS kita. So, stay tune!

Download Sourcecode :

https://github.com/hynra/Node-JS-MongoDB-Simple-RESTful-tutorial/tree/master/Part%201

 

 

Related Posts:

Leave a Reply

Your email address will not be published. Required fields are marked *