Verbindung mit MongoDB herstellen
Teil des Abschnitts Datenbanken mit MongoDB der Node.js-Journey von Coddy. Lektion 1 von 18.
Ein Array auf einem Server geht jedes Mal verloren, wenn der Server angehalten wird. Eine Datenbank bewahrt die Daten auf. MongoDB ist ein Datenbankserver, der Dokumente speichert: JSON-ähnliche Objekte. Dokumente befinden sich in Sammlungen, und Sammlungen befinden sich in einer Datenbank.
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();Der Client kommuniziert mit dem Datenbankserver unter dieser Adresse. insertOne speichert ein Dokument. find() liefert einen Cursor, ein Objekt, das die Ergebnisse erst auf Anfrage ausliest, und toArray() liest sie alle in ein Array ein. Jeder Aufruf greift auf die Datenbank zu, daher braucht jeder davon await.
Hier startet Run eine leere MongoDB im Arbeitsspeicher, und der Tab Data zeigt ihre Sammlungen. Das Startprogramm fügt mit insertMany drei Bücher ein; diese Methode erwartet ein Array mit Dokumenten.
Aufgabe
Einfach- Füge
GET /bookshinzu: Dieser Endpunkt gibt jedes Dokument in der Sammlungbooksals JSON-Array zurück.
Klicke auf Run und öffne den Tab Data, um die drei Bücher zu sehen. Sende dann GET /books.
Probier es selbst
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());
// Jeder Fehler gibt { error: message } zurück.
function sendError(res, status, message) {
res.status(status).json({ error: message });
}
app.get('/', (req, res) => {
res.send('Bookshelf API');
});
// Füge GET /books hier hinzu.
app.listen(3000, () => {
console.log('Bookshelf is running on port 3000');
});
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Datenbanken mit MongoDB
1Dokumente
Verbindung mit MongoDB herstellenDokumente einfügen