Node.js - MongoDB Buat Koleksi

Hai sana, para pemrogram yang sedang belajar! Hari ini, kita akan mengemban sebuah perjalanan menarik ke dunia Node.js dan MongoDB. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya di sini untuk memandu Anda melalui proses membuat koleksi di MongoDB menggunakan Node.js. Jangan khawatir jika Anda baru dalam pemrograman – kita akan mengambil langkah-langkah perlahan-lahan, dan sebelum Anda tahu, Anda akan membuat koleksi seperti seorang ahli!

Node.js - MongoDB Create Collection

Apa Itu MongoDB?

Sebelum kita mendalam, mari kita mulai dari dasar. MongoDB adalah basis data NoSQL populer yang menyimpan data dalam dokumen fleksibel, mirip JSON. Pahami ini sebagai lemari digital yang besar tempat Anda dapat menyimpan berbagai jenis informasi tanpa perlu khawatir terlalu banyak tentang struktur.

Apa Itu Koleksi?

Dalam MongoDB, koleksi seperti folder di lemari itu. Itu adalah tempat kita mengelompokkan dokumen yang mirip. Sebagai contoh, jika Anda sedang membangun basis data perpustakaan, Anda mungkin memiliki koleksi untuk buku, koleksi lain untuk penulis, dan koleksi lain lagi untuk peminjam.

Menyiapkan Lingkungan

Pertama-tama, kita perlu memastikan bahwa kita memiliki Node.js dan MongoDB terinstal di komputer kita. Jika Anda belum melakukan ini,ambil jalan singkat ke situs resmi dan ikuti panduan instalasi mereka.

Setelah Anda selesai menginstal, mari kita buat folder proyek baru dan inisiasinya:

mkdir mongodb-collection-tutorial
cd mongodb-collection-tutorial
npm init -y

Sekarang, mari kita instal driver MongoDB untuk Node.js:

npm install mongodb

Menghubungkan ke MongoDB

Baiklah, sekarang kesenangan dimulai! Mari kita buat file baru bernama app.js dan mulai dengan menghubungkan ke basis data MongoDB kita:

const { MongoClient } = require('mongodb');

// URL Koneksi
const url = 'mongodb://localhost:27017';

// Nama Basis Data
const dbName = 'myLibrary';

// Buat MongoClient baru
const client = new MongoClient(url);

// Menghubungkan ke server
async function connect() {
try {
await client.connect();
console.log('Berhasil terhubung ke basis data');
const db = client.db(dbName);
return db;
} catch (error) {
console.error('Gagal terhubung ke basis data:', error);
}
}

Dalam kode ini, kita menyiapkan koneksi ke server MongoDB lokal kita. Kita menggunakan localhost:27017, yang adalah alamat default untuk MongoDB. Kita juga menentukan nama basis data, myLibrary. Jangan khawatir jika basis data itu belum ada – MongoDB akan membuatnya bagi kita saat pertama kali kita gunakan.

Membuat Koleksi

Sekarang kita sudah terhubung, mari kita buat koleksi pertama kita! Kita akan membuat koleksi untuk buku di perpustakaan kita:

async function createCollection() {
const db = await connect();
try {
const result = await db.createCollection('books');
console.log('Koleksi berhasil dibuat:', result.namespace);
} catch (error) {
if (error.code === 48) {
console.log('Koleksi sudah ada');
} else {
console.error('Gagal membuat koleksi:', error);
}
} finally {
await client.close();
}
}

createCollection();

mari kitauraikan ini:

  1. Kita menggunakan metode createCollection untuk membuat koleksi baru bernama 'books'.
  2. Jika koleksi berhasil dibuat, kita catat pesan sukses.
  3. Jika ada kesalahan, kita periksa jika itu karena koleksi sudah ada (kode kesalahan 48). Jika begitu, kita catat pesan bahwa koleksi sudah ada. Untuk kesalahan lainnya, kita catat rincian kesalahan.
  4. Akhirnya, kita tutup koneksi basis data.

Menambahkan Opsi ke Koleksi

MongoDB memungkinkan kita menentukan opsi saat membuat koleksi. Mari kita buat koleksi lain dengan beberapa opsi:

async function createCollectionWithOptions() {
const db = await connect();
try {
const options = {
capped: true,
size: 1000000,
max: 5000
};
const result = await db.createCollection('logs', options);
console.log('Koleksi dibuat dengan opsi:', result.namespace);
} catch (error) {
console.error('Gagal membuat koleksi dengan opsi:', error);
} finally {
await client.close();
}
}

createCollectionWithOptions();

Dalam contoh ini, kita membuat koleksi 'logs' dengan opsi berikut:

  • capped: true - Ini membuat koleksi yang berbatas ukuran.
  • size: 1000000 - Ini menentukan ukuran maksimal koleksi menjadi 1 juta byte.
  • max: 5000 - Ini menentukan jumlah maksimal dokumen yang dapat ditampung koleksi menjadi 5000.

Opsi ini berguna untuk koleksi yang memiliki "perputaran" seperti file log, di mana Anda hanya ingin menjaga entri terbaru.

Memeriksa Jika Koleksi Ada

kadang-kadang, Anda mungkin ingin memeriksa jika koleksi sudah ada sebelum mencoba membuatnya. Berikut cara Anda dapat melakukannya:

async function checkCollectionExists(collectionName) {
const db = await connect();
try {
const collections = await db.listCollections({name: collectionName}).toArray();
if (collections.length > 0) {
console.log(`Koleksi ${collectionName} sudah ada`);
} else {
console.log(`Koleksi ${collectionName} belum ada`);
}
} catch (error) {
console.error('Gagal memeriksa koleksi:', error);
} finally {
await client.close();
}
}

checkCollectionExists('books');

Fungsi ini menggunakan metode listCollections untuk memeriksa jika koleksi dengan nama tertentu sudah ada. Jika array yang dikembalikan memiliki panjang lebih besar dari 0, itu berarti koleksi sudah ada.

Menggabungkan Semua

Sekarang kita sudah belajar tentang membuat koleksi, mari kita gabungkan semuanya dalam skrip tunggal:

const { MongoClient } = require('mongodb');

const url = 'mongodb://localhost:27017';
const dbName = 'myLibrary';
const client = new MongoClient(url);

async function connect() {
try {
await client.connect();
console.log('Berhasil terhubung ke basis data');
return client.db(dbName);
} catch (error) {
console.error('Gagal terhubung ke basis data:', error);
}
}

async function createCollections() {
const db = await connect();
try {
// Buat koleksi 'books'
await db.createCollection('books');
console.log('Koleksi Books dibuat berhasil');

// Buat koleksi 'logs' dengan opsi
const logOptions = { capped: true, size: 1000000, max: 5000 };
await db.createCollection('logs', logOptions);
console.log('Koleksi Logs dibuat berhasil dengan opsi');

// Memeriksa jika koleksi 'authors' sudah ada
const collections = await db.listCollections({name: 'authors'}).toArray();
if (collections.length > 0) {
console.log('Koleksi Authors sudah ada');
} else {
await db.createCollection('authors');
console.log('Koleksi Authors dibuat berhasil');
}
} catch (error) {
console.error('Gagal dalam createCollections:', error);
} finally {
await client.close();
}
}

createCollections();

Skrip ini menggabungkan semua konsep yang kita pelajari:

  1. Menghubungkan ke basis data
  2. Membuat koleksi sederhana ('books')
  3. Membuat koleksi dengan opsi ('logs')
  4. Memeriksa jika koleksi sudah ada sebelum membuatnya ('authors')

Kesimpulan

Selamat! Anda telah mengambil langkah pertama ke dunia MongoDB dan Node.js. Kita telah belajar bagaimana untuk menghubungkan ke basis data MongoDB, membuat koleksi, menambahkan opsi ke koleksi, dan memeriksa jika koleksi sudah ada. Ini adalah keterampilan dasar yang akan membantu Anda dalam manajemen basis data dengan MongoDB.

Ingat, latihan membuat Anda mahir. Cobalah membuat jenis koleksi yang berbeda, eksperimen dengan berbagai opsi, dan jangan takut membuat kesalahan – itu adalah bagaimana kita belajar!

Berikut adalah tabel yang menggabungkan metode utama yang kita gunakan:

Metode Deskripsi
MongoClient.connect() Menghubungkan ke server MongoDB
db.createCollection() Membuat koleksi baru
db.listCollections() Mengelola koleksi yang ada

Terus kode, terus belajar, dan terutama, bersenang-senang! Sampaijumpa lagi, selamat belajar basis data!

Credits: Image by storyset