Articles

Hvordan bruke MongoDB Med Node.js

2021 JavaScript Full-Stack Bootcamp ER NÅ ÅPEN for REGISTRERINGER!

hvis Du ikke er kjent Med MongoDB, sjekk vår guide på grunnleggende og hvordan du installerer og bruker den 🙂

Vi bruker den offisielle mongodb npm-pakken. Hvis du allerede har En Node.js project du jobber med, installer det med

npm install mongodb

hvis du starter fra bunnen av, opprett en ny mappe med terminalen din og kjør npm init -y for å starte en ny Node.js prosjekt, og kjør deretter kommandoennpm install mongodb.

Koble Til MongoDB

du trengermongodb pakken og Du får MongoClient-objektet fra den.

const mongo = require('mongodb').MongoClient

Opprett EN URL til MongoDB-serveren. Hvis Du bruker MongoDB lokalt, VIL NETTADRESSEN være noe som mongodb://localhost:27017, da 27017 er standardporten.

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

bruk deretter mongo.connect() metoden for å få referansen til MongoDB-instansklienten:

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

nå kan du velge en database ved hjelp av client.db() – metoden:

const db = client.db('kennel')

Opprett og få en samling

du kan få en samling ved å brukedb.collection() metoden. Hvis samlingen ikke eksisterer ennå, er den opprettet.

const collection = db.collection('dogs')

Sett inn data i en samling Et Dokument

Legg til app.js følgende funksjon som bruker insertOne() metoden for å legge til et objekt dogs samling.

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

insertMany(), passerer en matrise som den første parameteren:

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

finn alle dokumenter

brukfind() metoden på samlingen for å få alle dokumentene lagt til samlingen:

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

Finn et bestemt dokument

Pass et objekt til find() metode for å filtrere samlingen basert på hva du trenger å hente:

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

hvis du vet at du skal få ett element, kan du hoppe over toArray() konvertering av markøren ved å ringe findOne():

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

Oppdater et eksisterende dokument

Bruk updateOne() metode for å oppdatere et dokument:

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

slett et dokument

brukdeleteOne() metode for å slette et dokument:

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

lukke tilkoblingen

når du er ferdig med operasjonene kan du ringeclose() metode På Klientobjektet:

client.close()

Bruk løfter eller async / await

jeg postet alle disse eksemplene ved hjelp av tilbakeringingssyntaksen. DENNE API støtter løfter (og async / await) også.

for eksempel dette

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

kan brukes med løfter:

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

eller async/avvente:

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

last ned min gratis node.js Handbook

2021 JavaScript Full-Stack Bootcamp ER NÅ ÅPEN FOR REGISTRERINGER TIL NESTE TIRSDAG! Ikke gå glipp av denne muligheten, registrer DEG I DAG!

Flere node guider:

  • Noden.js Runtime v8 options list
  • hvordan skrive ut et lerret til en DATA URL
  • Hvordan bruke MongoDB Med Node.Js
  • Pug Guide
  • Installer en eldre versjon av en npm pakke
  • hvordan finne ut om en dato er i Dag I JavaScript
  • hvordan skrive EN CSV-fil Med Node.js
  • Node fil statistikk
  • Parsing JSON Med Node.js