Jak používat MongoDB s uzlem.js
2021 JavaScript Full-Stack Bootcamp je nyní otevřen pro registrace!
Pokud jste obeznámeni s MongoDB podívejte se na naše průvodce na jeho základy a na to, jak nainstalovat a používat 🙂
Budeme používat oficiální mongodb
npm balíček. Pokud již máte uzel.js projekt, na kterém pracujete, nainstalujte jej pomocí
npm install mongodb
máte-Li začít od nuly, vytvořit novou složku s terminálu a spustit npm init -y
založit nový Uzel.JS projektu a spusťte příkaz npm install mongodb
.
Připojení k MongoDB
Budete potřebovat mongodb
balíček a dostanete MongoClient objekt od.
const mongo = require('mongodb').MongoClient
Vytvořte URL serveru MongoDB. Pokud používáte MongoDB lokálně, URL bude něco jako mongodb://localhost:27017
27017
je výchozí port.
const url = 'mongodb://localhost:27017'
Pak použijte mongo.connect()
způsob, jak získat odkaz na MongoDB instance klienta:
mongo.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => { if (err) { console.error(err) return } //...})
Nyní si můžete vybrat databázi pomocí client.db()
metoda:
const db = client.db('kennel')
Vytvořit a získat sbírku
můžete získat sbírku pomocí db.collection()
metoda. Pokud kolekce ještě neexistuje, je vytvořena.
const collection = db.collection('dogs')
Vložit data do sbírky Dokumentu
Přidat do aplikace.js následující funkce, která používá metodu insertOne()
k přidání objektu dogs
kolekce.
collection.insertOne({name: 'Roger'}, (err, result) => {})
můžete přidat více položek pomocí insertMany()
, kolem pole jako první parametr:
collection.insertMany(, (err, result) => {})
Najít všechny dokumenty
Použití find()
metoda na sběr získat všechny dokumenty přidány do kolekce:
collection.find().toArray((err, items) => { console.log(items)})
Najít konkrétní dokument
Předat objekt do find()
metoda pro filtrování kolekce založené na tom, co potřebujete získat:
collection.find({name: 'Togo'}).toArray((err, items) => { console.log(items)})
Pokud víte, že budete dostat jeden prvek, můžete přeskočit toArray()
konverze kurzor zavoláním findOne()
:
collection.findOne({name: 'Togo'}, (err, item) => { console.log(item)})
Aktualizace existujícího dokumentu
Použití updateOne()
metoda aktualizace dokumentu:
collection.updateOne({name: 'Togo'}, {'$set': {'name': 'Togo2'}}, (err, item) => { console.log(item)})
Odstranit dokument
Použití deleteOne()
metoda k odstranění dokumentu:
collection.deleteOne({name: 'Togo'}, (err, item) => { console.log(item)})
Zavření spojení
Jakmile jste hotovi s operací můžete volat close()
metoda na objektu klienta:
client.close()
Použití sliby nebo async/await
jsem nahrál všechny ty příklady, které používají zpětné volání syntaxe. Toto API podporuje sliby (a asynchronní / čekají) stejně.
například,
collection.findOne({name: 'Togo'}, (err, item) => { console.log(item)})
Může být použit s sliby:
collection.findOne({name: 'Togo'}) .then(item => { console.log(item) }) .catch(err => { console.error(err) })
nebo async/await:
const find = async () => { try { const item = await collection.findOne({name: 'Togo'}) } catch(err => { console.error(err) })}find()
ke Stažení můj zdarma Uzel.js Handbook
2021 JavaScript Full-Stack Bootcamp je nyní otevřen pro registrace až do příštího úterý! Nenechte si ujít tuto příležitost, zaregistrujte se ještě dnes!
více Node tutoriály:
- uzel.js Runtime V8 seznam možností
- jak vytisknout plátno na adresu URL dat
- jak používat MongoDB s uzlem.js
- průvodce Pug
- nainstalujte starší verzi balíčku npm
- jak zjistit, zda je datum dnes v JavaScriptu
- Jak napsat soubor CSV s uzlem.js
- statistiky souborů uzlu
- analýza JSON s uzlem.js
Leave a Reply