Sådan bruges MongoDB med Node.js
2021 JavaScript Full-Stack Bootcamp er nu åben for tilmeldinger!
Hvis du ikke er bekendt med MongoDB, skal du tjekke vores guide til det grundlæggende og om, hvordan du installerer og bruger det:)
Vi bruger den officiellemongodb
npm-pakke. Hvis du allerede har en Node.js-projekt, du arbejder på, Installer det ved hjælp af
npm install mongodb
Hvis du starter fra bunden, skal du oprette en ny mappe med din terminal og køre npm init -y
for at starte en ny Node.JS project, og kør derefter kommandoen npm install mongodb
.
tilslutning til MongoDB
du har brug formongodb
pakken, og du får MongoClient-objektet fra det.
const mongo = require('mongodb').MongoClient
Opret en URL til MongoDB-serveren. Hvis du bruger MongoDB lokalt, vil URL ‘ en være noget som mongodb://localhost:27017
, da 27017
er standardporten.
const url = 'mongodb://localhost:27017'
brug derefter mongo.connect()
metode til at få henvisningen til MongoDB-forekomstklienten:
mongo.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => { if (err) { console.error(err) return } //...})
nu Kan du vælge en database ved hjælp af client.db()
metode:
const db = client.db('kennel')
Opret og få en samling
Du kan få en samling ved hjælp af db.collection()
metode. Hvis samlingen ikke findes endnu, er den oprettet.
const collection = db.collection('dogs')
indsæt data i en samling et dokument
Tilføj til app.js følgende funktion, der bruger insertOne()
metode til at tilføje et objekt dogs
samling.
collection.insertOne({name: 'Roger'}, (err, result) => {})
Du kan tilføje flere elementer ved hjælp af insertMany()
, passerer et array som den første parameter:
collection.insertMany(, (err, result) => {})
Find alle dokumenter
brug find()
metode på samlingen for at få alle dokumenter tilføjet til samlingen:
collection.find().toArray((err, items) => { console.log(items)})
Find et specifikt dokument
Send et objekt til find()
metode til at filtrere samlingen baseret på hvad du skal hente:
collection.find({name: 'Togo'}).toArray((err, items) => { console.log(items)})
Hvis du ved, at du får et element, kan du springe toArray()
konvertering af markøren ved at kalde findOne()
:
collection.findOne({name: 'Togo'}, (err, item) => { console.log(item)})
Opdater et eksisterende dokument
brug updateOne()
metode til opdatering af et dokument:
collection.updateOne({name: 'Togo'}, {'$set': {'name': 'Togo2'}}, (err, item) => { console.log(item)})
slet et dokument
brug deleteOne()
metode til at slette et dokument:
collection.deleteOne({name: 'Togo'}, (err, item) => { console.log(item)})
lukning af forbindelsen
når du er færdig med operationerne, kan du ringe til close()
metode på Klientobjektet:
client.close()
brug løfter eller async/afvent
Jeg sendte alle disse eksempler ved hjælp af tilbagekaldssyntaksen. Denne API understøtter løfter (og async / venter) så godt.
for eksempel dette
collection.findOne({name: 'Togo'}, (err, item) => { console.log(item)})
kan bruges med løfter:
collection.findOne({name: 'Togo'}) .then(item => { console.log(item) }) .catch(err => { console.error(err) })
eller async/afventer:
const find = async () => { try { const item = await collection.findOne({name: 'Togo'}) } catch(err => { console.error(err) })}find()
Hent min gratis node.js Handbook
2021 JavaScript Full-Stack Bootcamp er nu åben for tilmeldinger indtil næste tirsdag! Gå ikke glip af denne mulighed, Tilmeld dig i dag!
flere node tutorials:
- noden.JS Runtime v8 options list
- Sådan udskrives et lærred til en data-URL
- Sådan bruges MongoDB med Node.JS
- Pug Guide
- installer en ældre version af en npm-pakke
- Sådan bestemmer du, om en dato er i dag i JavaScript
- Sådan skriver du en CSV-fil med Node.js
- Node fil statistik
- Parsing JSON med Node.js
Leave a Reply