Articles

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:2701727017 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