Articles

Hoe MongoDB te gebruiken met Node.js

De 2021 JavaScript Full-Stack Bootcamp is nu OPEN voor aanmeldingen!

Als u niet bekend bent met MongoDB, raadpleeg dan onze handleiding over de basis en hoe het te installeren en te gebruiken 🙂

we gebruiken het officiële mongodb npm-pakket. Als je al een knoop hebt.js-project waaraan u werkt, Installeer het met

npm install mongodb

Als u vanaf nul start, maak dan een nieuwe map aan met uw terminal en voer npm init -y uit om een nieuw knooppunt op te starten.js project, en voer dan het npm install mongodb commando uit.

verbinden met MongoDB

u hebt het mongodb pakket nodig en u krijgt het MongoClient object ervan.

const mongo = require('mongodb').MongoClient

Maak een URL aan naar de MongoDB-server. Als u MongoDB lokaal gebruikt, zal de URL iets zijn als mongodb://localhost:27017, aangezien 27017 de standaardpoort is.

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

Vervolgens met behulp van de mongo.connect() methode om de verwijzing naar de MongoDB aanleg opdrachtgever:

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

Nu kunt u een database met gebruik van het client.db() methode:

const db = client.db('kennel')

een verzameling aanmaken en ophalen

u kunt een verzameling verkrijgen met behulp van de methode db.collection(). Als de collectie nog niet bestaat, wordt ze gemaakt.

const collection = db.collection('dogs')

gegevens in een verzameling invoegen een Document

toevoegen aan app.js de volgende functie die de insertOne() methode gebruikt om een object toe te voegen dogs collectie.

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

U kunt meerdere items toevoegen met behulp van insertMany(), het doorgeven van een array als de eerste parameter:

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

Vind alle documenten

Gebruik de find() methode op de collectie te krijgen van alle documenten toegevoegd aan de collectie:

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

Vind een specifiek document

een object doorgeeft aan de find() methode voor het filteren van de collectie op basis van wat je nodig hebt op te halen:

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

Als u weet dat u gaat krijgen van een element, kunt u de toArray() conversie van de cursor door te bellen findOne():

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

Bijwerken van een bestaand document

Gebruik de updateOne() methode voor het bijwerken van een document:

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

Verwijderen van een document

Gebruik de deleteOne() methode voor het verwijderen van een document:

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

Sluiten

als je Eenmaal klaar bent met de werkzaamheden, kunt u bellen met de close() methode op het client-object:

client.close()

gebruik promises of async/wait

Ik heb al deze voorbeelden gepost met behulp van de callback syntaxis. Deze API ondersteunt ook promises (en async/await).

voorbeeld

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

Kan worden gebruikt met beloften:

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

of async/wachten:

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

Download mijn gratis Knooppunt.js Handbook

De 2021 JavaScript Full-Stack Bootcamp is nu OPEN voor aanmeldingen tot volgende week dinsdag! Mis deze kans niet, meld je vandaag nog aan!

meer knooppunthandleidingen:

  • het knooppunt.js runtime V8 options list
  • Hoe print je een canvas naar een data URL
  • Hoe gebruik je MongoDB met Node.js
  • de Pug-gids
  • Installeer een oudere versie van een NPM-pakket
  • Hoe bepaal je of een datum vandaag is in JavaScript
  • Hoe schrijf je een CSV-bestand met Node.js
  • node bestand statistieken
  • Parsing JSON met Node.js