Articles

So verwenden Sie MongoDB mit Node.js

Das 2021 JavaScript Full-Stack Bootcamp ist JETZT FÜR ANMELDUNGEN GEÖFFNET!

Wenn Sie mit MongoDB nicht vertraut sind, lesen Sie unseren Leitfaden zu den Grundlagen und zur Installation und Verwendung 🙂

Wir verwenden das offizielle mongodb npm-Paket. Wenn Sie bereits einen Knoten haben.js-Projekt, an dem Sie arbeiten, installieren Sie es mit

npm install mongodb

Wenn Sie von vorne anfangen, erstellen Sie einen neuen Ordner mit Ihrem Terminal und führen Sie npm init -y aus, um einen neuen Knoten zu starten.js-Projekt und führen Sie dann den Befehl npm install mongodb aus.

Verbinden mit MongoDB

Sie benötigen das mongodb Paket und Sie erhalten das MongoClient Objekt daraus.

const mongo = require('mongodb').MongoClient

Erstellen Sie eine URL zum MongoDB-Server. Wenn Sie MongoDB lokal verwenden, lautet die URL ungefähr mongodb://localhost:27017 , da 27017 der Standardport ist.

const url = 'mongodb://localhost:27017'

Verwenden Sie dann die mongo.connect() -Methode, um den Verweis auf den MongoDB-Instanzclient abzurufen:

mongo.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => { if (err) { console.error(err) return } //...})

Jetzt können Sie eine Datenbank mit der client.db() -Methode auswählen:

const db = client.db('kennel')

Erstellen und Abrufen einer Sammlung

Sie können eine Sammlung mithilfe der db.collection() -Methode abrufen. Wenn die Sammlung noch nicht existiert, wird sie erstellt.

const collection = db.collection('dogs')

Daten in eine Sammlung einfügen ein Dokument

Zur App hinzufügen.js die folgende Funktion, die die insertOne() Methode verwendet, um ein Objekt dogs Sammlung hinzuzufügen.

collection.insertOne({name: 'Roger'}, (err, result) => {})

Sie können mehrere Elemente mit insertMany()hinzufügen und als ersten Parameter ein Array übergeben:

collection.insertMany(, (err, result) => {})

Alle Dokumente suchen

Verwenden Sie die find() -Methode für die Sammlung, um alle Dokumente zur Sammlung hinzuzufügen:

collection.find().toArray((err, items) => { console.log(items)})

Ein bestimmtes Dokument suchen

Übergeben Sie ein Objekt an die find() Methode zum Filtern der Sammlung basierend auf dem, was Sie abrufen müssen:

collection.find({name: 'Togo'}).toArray((err, items) => { console.log(items)})

Wenn Sie wissen, dass Sie ein Element erhalten, können Sie die toArray() -Konvertierung des Cursors überspringen, indem Sie findOne():

collection.findOne({name: 'Togo'}, (err, item) => { console.log(item)})

Aktualisieren eines vorhandenen Dokuments

Verwenden Sie die updateOne() Methode zum Aktualisieren eines Dokuments:

collection.updateOne({name: 'Togo'}, {'$set': {'name': 'Togo2'}}, (err, item) => { console.log(item)})

Dokument löschen

Verwenden Sie die deleteOne() Methode zum Löschen eines Dokuments:

collection.deleteOne({name: 'Togo'}, (err, item) => { console.log(item)})

Schließen der Verbindung

Sobald Sie mit den Operationen fertig sind, können Sie die close() -Methode für das Client-Objekt aufrufen:

client.close()

Verwenden Sie Versprechen oder async / await

Ich habe all diese Beispiele mit der Callback-Syntax gepostet. Diese API unterstützt auch Versprechen (und async / await ).

Zum Beispiel dies

collection.findOne({name: 'Togo'}, (err, item) => { console.log(item)})

Kann mit Versprechen verwendet werden:

collection.findOne({name: 'Togo'}) .then(item => { console.log(item) }) .catch(err => { console.error(err) })

oder async /await:

const find = async () => { try { const item = await collection.findOne({name: 'Togo'}) } catch(err => { console.error(err) })}find()

Laden Sie meinen kostenlosen Knoten herunter.js Handbook

Das 2021 JavaScript Full-Stack Bootcamp IST JETZT BIS NÄCHSTEN DIENSTAG FÜR ANMELDUNGEN GEÖFFNET! Verpassen Sie diese Gelegenheit nicht, melden Sie SICH NOCH HEUTE an!

Weitere Knoten-Tutorials:

  • Der Knoten.js Runtime v8 options list
  • So drucken Sie eine Leinwand auf eine Daten-URL
  • So verwenden Sie MongoDB mit Node.js
  • Der Pug-Leitfaden
  • Installieren Sie eine ältere Version eines NPM-Pakets
  • So bestimmen Sie, ob ein Datum heute in JavaScript ist
  • So schreiben Sie eine CSV-Datei mit Node.js
  • Knotendateistatistik
  • JSON mit Knoten analysieren.js