Anda pasti pernah mendengar tentang CRUD (Create, Retrieve, Update and Delete). Dalam tutorial di bawah ini, kita akan membangun REST API dengan Node.js, Express dan MongoDB untuk melakukan operasi CRUD. Untuk berinteraksi dengan instance MongoDB kita akan menggunakan Mongoose.
• Express - framework paling populer untuk Node.js dibangun dengan modul http Node.js di bawahnya. Ini menambahkan dukungan untuk perutean, middleware, sistem tampilan, dan banyak lagi. Express cukup sederhana dan mudah digunakan, tidak seperti kerangka kerja lain yang mengurangi fleksibilitas untuk memiliki pilihan desain dengan mencoba melakukan terlalu banyak dari yang diharapkan.
• Mongoose - alat Pemetaan Dokumen Objek (ODM) untuk Node.js dan MongoDB. Ini membantu Anda untuk mengkonversi dokumen dalam database ke objek dalam kode Anda dan sebaliknya.
Ada sedikit rekomendasi, jika Anda belum menginstal MongoDB sampai sekarang, silakan instal sebelum melanjutkan lebih jauh dan mulai juga Mongo.
Dalam tutorial Node.js ini, Kami akan membuat aplikasi untuk menyimpan kategori. Kami akan membangun API untuk membuat, mendaftar, mengedit, dan menghapus kategori dari database.
Pertama kita akan membangun server web sederhana dan kemudian mengkonfigurasi database. Kemudian, kita akan membangun model kategori dan akhirnya kita akan menetapkan rute yang berbeda untuk menangani semua operasi CRUD.
Selain itu, kami akan menggunakan fitur ES6 seperti let, const, promise, fungsi panah, dll. Akan lebih baik jika Anda memiliki pengetahuan sebelumnya tentang konsep-konsep ini serta JavaScript.
Oke langsung saja kita ke langkah-langkahnya :
- Langkah1: Buat direktori baru
Pada langkah pertama ini, saya akan membuat folder menggunakan mkdir perintah untuk memulai aplikasi.
$ mkdir node-mongo-crud
// masuk ke direktori
cd node-mongo-crud
- Langkah2: Inisialisasi aplikasi
Pada langkah ini, saya akan membuat file dengan nama package.json menggunakan perintah berikut:
$npm init
Kami menggunakan npm perintah untuk menginstal semua dependensi.
Saat Anda menjalankan npm init perintah maka Anda akan meminta hal-hal berikut:
Seperti yang Anda lihat, saya telah menentukan titik masuk untuk aplikasi kita yang disebut server.js
- Langkah3: Instalasi Paket
Pada langkah ini, saya akan menginstal dependensi dengan menjalankan perintah berikut:
$ npm install express body-parser mongoose --save
--save opsi ini digunakan untuk menyimpan semua dependensi dalam file package.json.
- Langkah4 : Buat titik masuk aplikasi
Pada langkah ini, saya akan membuat entry point menggunakan touch perintah di linux.
$ touch server.js
Struktur direktori:
node-easy-notes-app
└── node_modules/
└── package.json
└── server.js
- Langkah5 : Konfigurasi basis data
Pada langkah ini, saya akan membuat direktori "config" di dalam direktori root aplikasi dan kemudian membuat file konfigurasi di dalam direktori config dengan menjalankan perintah berikut:
$ mkdir config
$ cd config
$ touch database.config.js
database.config.js
- Langkah6: Buat Skema Model
Pada langkah ini, buat direktori baru "aplikasi" di dalam folder root aplikasi dan kemudian buat direktori lain di dalam folder aplikasi dengan menjalankan perintah berikut:
$ mkdir -p app/models
$ cd app/models
//Sekarang buat file di dalam direktori "app/models"
$ touch categories.model.js
Perbarui kode di bawah ini di file categories.model.js :
const mongoose = require('mongoose');
const CategorySchema = mongoose.Schema({
name: String,
details: String
}, {
timestamps: true
});
module.exports = mongoose
- Langkah7: Tambahkan Routes
Pada langkah ini, saya akan membuat direktori "route" di dalam direktori aplikasi dan kemudian membuat file route "category.route.js" di dalam direktori route.
$ mkdir app/routes
$ cd app/routes
$ touch category.routes.js
Sekarang salin kode di bawah ini di file "category.routes.js" :
- Langkah8: Panggil routes di server.js
Pada langkah ini, kami memerlukan paket dan mengkonfigurasi server untuk REST API:
- Langkah9: Tambahkan Controller
Pada langkah ini, saya akan membuat direktori Controller di dalam aplikasi dan kemudian membuat file Controller "category.controller.js" di dalam direktori Controller dengan menjalankan perintah di bawah ini:
$ mkdir app/controllers
$ cd app/controllers
$ touch category.controller.js
Sekarang kita akan meninjau fungsi controller yang diimplementasikan di atas satu per satu:
Tambahkan kategori baru :
Daftar semua kategori:
Dapatkan satu kategori:
Perbarui kategori:
Hapus kategori: