Menghubungkan ke MongoDB
Termasuk bagian Database dengan MongoDB dalam perjalanan Node.js di Coddy. Pelajaran 1 dari 18.
Sebuah array di server akan hilang setiap kali server berhenti. Database menyimpan datanya. MongoDB adalah server database yang menyimpan dokumen: object mirip JSON. Dokumen berada di dalam koleksi, dan koleksi berada di dalam database.
import { MongoClient } from 'mongodb';
const client = new MongoClient('mongodb://localhost:27017');
const movies = client.db('cinema').collection('movies');
await movies.insertOne({ title: 'Alien', year: 1979 });
const all = await movies.find().toArray();Client terhubung ke server database di alamat tersebut. insertOne menyimpan satu dokumen. find() menghasilkan cursor, yaitu object yang membaca hasil hanya saat diminta, dan toArray() membaca semuanya ke dalam array. Setiap pemanggilan mengakses database, jadi setiap pemanggilan memerlukan await.
Di sini, tombol Jalankan memulai MongoDB kosong di memori, dan tab Data menampilkan koleksinya. Kode awal mengisi tiga buku dengan insertMany, yang menerima array berisi dokumen.
Tantangan
Mudah- Tambahkan
GET /books: endpoint ini mengembalikan setiap dokumen dalam collectionbookssebagai array JSON.
Tekan Jalankan dan buka tab Data untuk melihat tiga buku tersebut. Lalu kirim GET /books.
Coba sendiri
import express from 'express';
import { MongoClient } from 'mongodb';
const client = new MongoClient('mongodb://localhost:27017');
const db = client.db('shelf');
const books = db.collection('books');
await books.insertMany([
{ title: 'Dune', author: 'Frank Herbert', year: 1965, isbn: '9780441013593', genre: 'scifi' },
{ title: 'Kindred', author: 'Octavia E. Butler', year: 1979, isbn: '9780807083697', genre: 'scifi' },
{ title: 'Emma', author: 'Jane Austen', year: 1815, isbn: '9780141439587', genre: 'classic' },
]);
const app = express();
app.use(express.json());
// Setiap error mengembalikan { error: message }.
function sendError(res, status, message) {
res.status(status).json({ error: message });
}
app.get('/', (req, res) => {
res.send('Bookshelf API');
});
// Tambahkan GET /books di sini.
app.listen(3000, () => {
console.log('Bookshelf is running on port 3000');
});
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Database dengan MongoDB
1Dokumen
Menghubungkan ke MongoDBMenyisipkan DokumenLatihan sendiri: Playground Express