Node.js - MongoDB Sort: Panduan untuk Pemula

Halo, para pemrogram masa depan! Hari ini, kita akan memulai sebuah perjalanan menarik ke dunia pengurutan data di MongoDB menggunakan Node.js. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya di sini untuk mengarahkan Anda melalui petualangan ini, langkah demi langkah. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - kita akan mulai dari awal dan belajar bersama-sama.

Node.js - MongoDB Sort

Apa Itu Pengurutan MongoDB?

Sebelum kita masuk ke kode, mari kita pahami apa arti pengurutan dalam konteks MongoDB. Bayangkan Anda memiliki sebuah kotak besar berisi batu Lego berwarna-warni, dan Anda ingin mengaturnya berdasarkan warna atau ukuran. Itu sebenarnya apa yang kita lakukan dengan data di MongoDB - mengaturnya dalam urutan tertentu yang sesuai dengan kebutuhan kita.

Menyiapkan Lingkungan Kerja

Pertama-tama, kita perlu mengatur lingkungan Node.js dan menghubungkan ke MongoDB. Jangan khawatir, saya akan mengajak Anda melalui setiap langkah!

  1. Install Node.js dari situs resmi jika Anda belum memiliki.
  2. Buat direktori baru untuk proyek Anda dan navigasikan ke dalamnya di terminal.
  3. Jalankan npm init -y untuk membuat file package.json.
  4. Install driver MongoDB dengan menjalankan npm install mongodb.

Sekarang, buat file baru bernama app.js dan tambahkan kode berikut:

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

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

// Nama Database
const dbName = 'myProject';

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

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

// Ekspor fungsi connect
module.exports = { connect };

Kode ini mengatur koneksi kami ke MongoDB. Kita menggunakan localhost di sini, tetapi dalam konteks nyata, Anda akan mengganti ini dengan alamat server MongoDB Anda sebenarnya.

Memasukkan Data Contoh

Sebelum kita bisa mengurutkan apa pun, kita butuh beberapa data untuk bekerja. Mari kita masukkan beberapa dokumen ke dalam koleksi fruits. Tambahkan fungsi ini ke app.js Anda:

async function insertSampleData(db) {
const collection = db.collection('fruits');
const fruits = [
{ name: 'Apple', color: 'Red', price: 0.5 },
{ name: 'Banana', color: 'Yellow', price: 0.3 },
{ name: 'Orange', color: 'Orange', price: 0.6 },
{ name: 'Kiwi', color: 'Green', price: 0.8 },
{ name: 'Grape', color: 'Purple', price: 1.0 }
];

const result = await collection.insertMany(fruits);
console.log(`${result.insertedCount} dokumen telah dimasukkan`);
}

Fungsi ini membuat koleksi buah-buahan dengan namanya, warnanya, dan harganya. Itu seperti mengisi toko buah virtual kita!

Pengurutan di MongoDB

Sekarang kita memiliki data, mari belajar bagaimana mengurutkannya. Di MongoDB, kita menggunakan metode sort() untuk mengatur dokumen kita. Metode sort() mengambil objek sebagai argumen, di mana kunci-kunci adalah bidang yang akan diurutkan, dan nilai-nilai menentukan urutan pengurutan.

Pengurutan Naik

Mari kita mulai dengan mengurutkan buah-buahan kita secara naik berdasarkan harga. Tambahkan fungsi ini ke app.js Anda:

async function sortAscending(db) {
const collection = db.collection('fruits');
const cursor = collection.find().sort({ price: 1 });

console.log("Buah-buahan diurutkan berdasarkan harga (naik):");
await cursor.forEach(doc => {
console.log(`${doc.name}: $${doc.price}`);
});
}

Dalam fungsi ini, kita menggunakan sort({ price: 1 }) untuk mengurutkan buah-buahan berdasarkan harga secara naik. Nilai 1 berarti naik, seperti menghitung naik dari 1, 2, 3...

Pengurutan Turun

Sekarang, mari kita urutkan buah-buahan kita secara turun berdasarkan nama. Tambahkan fungsi ini:

async function sortDescending(db) {
const collection = db.collection('fruits');
const cursor = collection.find().sort({ name: -1 });

console.log("Buah-buahan diurutkan berdasarkan nama (turun):");
await cursor.forEach(doc => {
console.log(doc.name);
});
}

Di sini, kita menggunakan sort({ name: -1 }) untuk mengurutkan buah-buahan berdasarkan nama secara turun. Nilai -1 berarti turun, seperti menghitung turun 3, 2, 1...

Menggabungkan Semua

Mari kita buat fungsi utama untuk menjalankan semua operasi kita:

async function main() {
const db = await connect();
await insertSampleData(db);
await sortAscending(db);
await sortDescending(db);
await client.close();
}

main().catch(console.error);

Fungsi ini menghubungkan ke database, memasukkan data contoh, melakukan pengurutan, dan kemudian menutup koneksi.

Menjalankan Kode

Untuk menjalankan kode Anda, simpan file app.js dan eksekusikannya menggunakan Node.js:

node app.js

Anda seharusnya melihat output yang menunjukkan buah-buahan diurutkan berdasarkan harga (naik) dan berdasarkan nama (turun).

Tabel Metode Pengurutan

Berikut adalah tabel praktis yang menggabungkan metode pengurutan yang kita pelajari:

Metode Deskripsi Contoh
sort({ field: 1 }) Urutkan naik collection.find().sort({ price: 1 })
sort({ field: -1 }) Urutkan turun collection.find().sort({ name: -1 })

Kesimpulan

Selamat! Anda baru saja belajar bagaimana mengurutkan data di MongoDB menggunakan Node.js. Ingat, pengurutan adalah seperti mengatur batu Lego - itu membantu Anda menemukan persis apa yang Anda butuhkan saat Anda membutuhkannya. Ketika Anda terus melanjutkan perjalanan programming Anda, Anda akan menemukan bahwa pengaturan data yang efisien sangat penting dalam pembangunan aplikasi yang kuat.

Terus latihan, dan jangan khawatir untuk mencoba pengurutan berbeda. Mungkin cobalah pengurutan berdasarkan warna, atau gabungkan beberapa bidang dalam pengurutan Anda. Semakin banyak Anda bermain dengan konsep ini, semakin nyaman Anda akan merasakan.

Selamat coding, dan may your data always be perfectly sorted! (Semoga data Anda selalu urut sempurna!)

Credits: Image by storyset