Menyisipkan Dokumen
Termasuk bagian Database dengan MongoDB dalam perjalanan Node.js di Coddy. Pelajaran 2 dari 18.
client mengirim buku baru dalam body POST, lalu server harus menyimpannya dan memberi tahu apa yang disimpannya.
Setiap dokumen memiliki field _id, kunci uniknya di collection. Jika object yang kamu masukkan belum memilikinya, insertOne akan membuatnya dan menuliskannya juga ke object yang sama. Pemanggilan ini hanya mengembalikan acknowledged dan insertedId, bukan dokumennya.
const movie = { title: 'Alien', year: 1979 };
const result = await movies.insertOne(movie);
console.log(result); // { acknowledged: true, insertedId: new ObjectId('66f1...') }
console.log(movie._id); // id yang samaJadi setelah penyisipan, object yang kamu berikan adalah dokumen yang disimpan, termasuk _id: itulah yang ingin diterima kembali oleh client.
Tantangan
MudahPOST /booksmenyimpan body JSON sebagai buku baru.- Responsnya adalah
201dengan buku yang tersimpan, termasuk_id-nya.
Kirim POST /books dengan { "title": "Beloved", "author": "Toni Morrison", "year": 1987, "isbn": "9781400033416", "genre": "literary" }. Lalu kirim GET /books dan lihat tab Data.
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');
});
app.get('/books', async (req, res) => {
const list = await books.find().toArray();
res.json(list);
});
app.listen(3000, () => {
console.log('Bookshelf is running on port 3000');
});
Semua pelajaran di Database dengan MongoDB
1Dokumen
Menghubungkan ke MongoDBMenyisipkan DokumenLatihan sendiri: Playground Express