Node.js - MongoDB Temukan

Halo sana, para programer yang sedang belajar! Hari ini, kita akan mengemban perjalanan yang menarik ke dalam dunia Node.js dan MongoDB. Khususnya, kita akan mengeksplorasi bagaimana mengambil data dari database MongoDB menggunakan Node.js. Jangan khawatir jika Anda baru dalam hal ini - kita akan mulai dari dasar dan naik tingkat per tingkat. Pada akhir panduan ini, Anda akan menemukan dokumen seperti seorang ahli!

Node.js - MongoDB Find

Pengenalan ke MongoDB dan Node.js

Sebelum kita masuk ke detil cara menemukan dokumen, mari kitaambil sedikit waktu untuk memahami apa itu MongoDB dan Node.js.

MongoDB adalah database NoSQL populer yang menyimpan data dalam dokumen fleksibel, mirip JSON. Itu seperti sebuah lemari filing digital raksasa tempat Anda dapat menyimpan berbagai jenis informasi.

Node.js, di sisi lain, adalah runtime JavaScript yang memungkinkan Anda menjalankan JavaScript di komputer Anda, di luar browser web. Itu seperti memberikan superpower JavaScript untuk berinteraksi dengan sistem file, jaringan, dan dalam kasus kita, database seperti MongoDB.

Sekarang, mari kita mulai coding!

Menyiapkan Lingkungan Kerja

Pertama-tama, kita perlu mengatur proyek kita. Berikut ini apa yang Anda butuhkan:

  1. Install Node.js dari situs web resmi jika Anda belum melakukan itu.
  2. Buat direktori baru untuk proyek Anda.
  3. Buka terminal di direktori itu dan jalankan npm init -y untuk membuat file package.json.
  4. Install driver MongoDB dengan menjalankan npm install mongodb.

Bagus! Sekarang kita siap untuk mulai coding.

Menghubungkan ke MongoDB

Sebelum kita dapat menemukan dokumen apapun, kita perlu menghubungkan ke database MongoDB kita. Berikut ini cara kita melakukan itu:

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

const url = 'mongodb://localhost:27017';
const dbName = 'myProject';

async function connectToDatabase() {
const client = new MongoClient(url);

try {
await client.connect();
console.log('Berhasil terhubung ke database');
const db = client.db(dbName);
return db;
} catch (error) {
console.error('Gagal terhubung ke database', error);
throw error;
}
}

mari kitauraikan ini:

  1. Kita mengimpor MongoClient dari paket mongodb.
  2. Kita menentukan URL di mana server MongoDB kita berjalan dan nama database kita.
  3. Kita membuat fungsi async connectToDatabase() yang menjalankan koneksi ke server MongoDB kita.
  4. Jika koneksi sukses, kita kembalikan objek database. Jika tidak, kita log kesalahan.

Membaca Semua Dokumen

Sekarang kita terhubung, mari kita belajar bagaimana mengambil semua dokumen dari sebuah koleksi. Kita akan menggunakan metode find() untuk ini.

async function findAllDocuments(db, collectionName) {
const collection = db.collection(collectionName);

try {
const documents = await collection.find({}).toArray();
console.log('Ditemukan dokumen berikut:');
console.log(documents);
return documents;
} catch (error) {
console.error('Kesalahan menemukan dokumen:', error);
throw error;
}
}

Berikut ini apa yang terjadi:

  1. Kita mendapatkan referensi ke koleksi kita menggunakan db.collection(collectionName).
  2. Kita menggunakan find({}) untuk mengambil semua dokumen. Object kosong {} berarti kita tidak menerapkan filter apapun.
  3. Kita konversi hasilnya ke array menggunakan toArray().
  4. Kita log dan kembalikan dokumen.

Untuk menggunakan fungsi ini, Anda akan melakukan seperti ini:

async function main() {
const db = await connectToDatabase();
await findAllDocuments(db, 'users');
}

main().catch(console.error);

Menggunakan findOne()

kadang-kadang, Anda hanya perlu mengambil satu dokumen saja. Itu di mana findOne() berguna. Mari kita buat fungsi untuk ini:

async function findOneDocument(db, collectionName, query) {
const collection = db.collection(collectionName);

try {
const document = await collection.findOne(query);
if (document) {
console.log('Ditemukan satu dokumen:');
console.log(document);
} else {
console.log('Tidak ada dokumen yang cocok dengan query.');
}
return document;
} catch (error) {
console.error('Kesalahan menemukan dokumen:', error);
throw error;
}
}

Berikut ini apa yang fungsi ini lakukan:

  1. Kita menggunakan findOne(query) untuk mengambil satu dokumen yang cocok dengan query kita.
  2. Jika dokumen ditemukan, kita log dan kembalikan dokumen itu. Jika tidak, kita log pesan yang mengatakan bahwa tidak ada dokumen yang cocok.

Anda akan menggunakan fungsi ini seperti ini:

async function main() {
const db = await connectToDatabase();
await findOneDocument(db, 'users', { name: 'John Doe' });
}

main().catch(console.error);

Ini akan menemukan pengguna pertama dengan nama 'John Doe'.

Tabel Metode

Berikut ini tabel praktis dari metode yang kita pelajari:

Metode Deskripsi Contoh
find() Mengambil beberapa dokumen collection.find({})
findOne() Mengambil satu dokumen collection.findOne({ name: 'John' })

Kesimpulan

Selamat! Anda baru saja belajar bagaimana menemukan dokumen di MongoDB menggunakan Node.js. Kita telah menjelajahi penghubung ke database, mengambil semua dokumen, dan menemukan dokumen tunggal. Ini adalah keterampilan fundamental yang Anda akan gunakan dalam hampir setiap proyek MongoDB.

Ingat, latihan membuat sempurna. Cobalah membuat proyek kecil di mana Anda dapat menerapkan konsep-konsep ini. Mungkin sebuah buku alamat sederhana atau daftar tugas? Kemungkinan adalah tak terbatas!

Selamat coding, dan semoga query Anda selalu mengembalikan dokumen yang Anda cari!

Credits: Image by storyset