Node.js - MongoDB Membuat Koleksi

Hai teman-teman yang sedang belajar pemrograman! Hari ini, kita akan memulai perjalanan yang 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 masih pemula 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 masuk ke detilnya, mari kita mulai dari dasar. MongoDB adalah database NoSQL populer yang menyimpan data dalam dokumen fleksibel, mirip dengan JSON. P想象它为一个巨大的数字文件柜,你可以在这里存储各种信息而不必过于担心结构。

Apa Itu Koleksi?

Dalam MongoDB, koleksi seperti folder di dalam file cabinet itu. Itu tempat kita mengelompokkan dokumen yang mirip. Misalnya, jika Anda sedang membangun database perpustakaan, Anda mungkin memiliki koleksi untuk buku, satu untuk pengarang, dan lainnya untuk peminjam.

Menyiapkan Lingkungan Kerja

Hal pertama yang harus Anda lakukan, pastikan Anda telah menginstal Node.js dan MongoDB di komputer Anda. 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 penggerak MongoDB untuk Node.js:

npm install mongodb

Menghubungkan ke MongoDB

Baiklah, sekarang ini adalah saat yang menyenangkan! Mari kita buat file baru bernama app.js dan mulai dengan menghubungkan ke database MongoDB kita:

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

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

// Nama Database
const dbName = 'myLibrary';

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

// Hubungkan ke server
async function connect() {
try {
await client.connect();
console.log('Berhasil terhubung ke database');
const db = client.db(dbName);
return db;
} catch (error) {
console.error('Error menghubungkan ke database:', 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 database, myLibrary. Jangan khawatir jika database itu belum ada – MongoDB akan membuatnya untuk kita saat kita pertama kali menggunakannya.

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('Error 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 logkan pesan sukses.
  3. Jika ada kesalahan, kita periksa jika itu karena koleksi sudah ada (kode kesalahan 48). Jika ya, kita logkan pesan bahwa koleksi sudah ada. Untuk kesalahan lainnya, kita logkan detil kesalahan.
  4. Akhirnya, kita tutup koneksi database.

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('Error 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 berupa capped, yang memiliki ukuran tetap.
  • size: 1000000 - Ini menentukan ukuran maksimum koleksi menjadi 1 juta byte.
  • max: 5000 - Ini menentukan jumlah maksimum dokumen yang koleksi dapat menyimpan menjadi 5000.

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

Memeriksa Jika Koleksi Sudah 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('Error memeriksa koleksi:', error);
} finally {
await client.close();
}
}

checkCollectionExists('books');

Fungsi ini menggunakan metode listCollections untuk memeriksa jika koleksi dengan nama yang diberikan 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 semua dalam satu skrip:

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 database');
return client.db(dbName);
} catch (error) {
console.error('Error menghubungkan ke database:', 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');

// Periksa 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('Error dalam createCollections:', error);
} finally {
await client.close();
}
}

createCollections();

Skrip ini menggabungkan semua konsep yang kita pelajari:

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

Kesimpulan

Selamat! Anda baru saja mengambil langkah pertama ke dunia MongoDB dan Node.js. Kita telah belajar bagaimana menghubungkan ke database MongoDB, membuat koleksi, menambahkan opsi ke koleksi, dan memeriksa jika koleksi sudah ada. Ini adalah keterampilan fundamental yang akan membantu Anda dalam pengelolaan database dengan MongoDB.

Ingat, latihan membuat sempurna. Cobalah membuat jenis koleksi yang berbeda, eksperimen dengan berbagai opsi, dan jangan takut untuk 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

Tetap kode, tetap belajar, dan yang paling penting, bersenang-senang! Sampai jumpa lagi, semoga sukses dalam pengelolaan data Anda!

Credits: Image by storyset