Jak używać MongoDB z węzłem.js
2021 JavaScript pełny stos Bootcamp jest teraz otwarty dla rejestracji!
Jeśli nie jesteś zaznajomiony z MongoDB sprawdź nasz przewodnik na temat jego podstaw oraz jak go zainstalować i używać:)
będziemy używać oficjalnego pakietumongodb
npm. Jeśli masz już węzeł.projekt js, nad którym pracujesz, zainstaluj go za pomocą
npm install mongodb
Jeśli zaczynasz od zera, utwórz nowy folder z terminalem i uruchom npm init -y
, aby uruchomić nowy węzeł.projekt js, a następnie uruchom polecenienpm install mongodb
.
podłączając się do MongoDB
wymagasz pakietu mongodb
I otrzymujesz z niego obiekt MongoClient.
const mongo = require('mongodb').MongoClient
Utwórz adres URL do serwera MongoDB. Jeśli używasz MongoDB lokalnie, adres URL będzie podobny domongodb://localhost:27017
, ponieważ27017
jest portem domyślnym.
const url = 'mongodb://localhost:27017'
następnie użyj metodymongo.connect()
, aby uzyskać odniesienie do klienta instancji MongoDB:
mongo.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => { if (err) { console.error(err) return } //...})
teraz możesz wybrać bazę danych za pomocą metodyclient.db()
:
const db = client.db('kennel')
Tworzenie i pobieranie kolekcji
możesz uzyskać kolekcję za pomocą metodydb.collection()
. Jeśli kolekcja jeszcze nie istnieje, jest tworzona.
const collection = db.collection('dogs')
Wstaw dane do kolekcji dokument
Dodaj do aplikacji.js następująca funkcja, która używainsertOne()
metody do dodania obiektudogs
kolekcji.
collection.insertOne({name: 'Roger'}, (err, result) => {})
możesz dodać wiele elementów za pomocąinsertMany()
, przekazując tablicę jako pierwszy parametr:
collection.insertMany(, (err, result) => {})
Znajdź wszystkie dokumenty
użyj metodyfind()
w kolekcji, aby uzyskać wszystkie dokumenty dodane do kolekcji:
collection.find().toArray((err, items) => { console.log(items)})
Znajdź określony dokument
przekaż obiekt do find()
metoda filtrowania kolekcji na podstawie tego, co musisz pobrać:
toArray()
, wywołującfindOne()
:
collection.findOne({name: 'Togo'}, (err, item) => { console.log(item)})
zaktualizuj istniejący dokument
użyj metody updateOne()
, aby zaktualizować dokument:
collection.updateOne({name: 'Togo'}, {'$set': {'name': 'Togo2'}}, (err, item) => { console.log(item)})
usuń dokument
użyj metody deleteOne()
, aby usunąć dokument:
collection.deleteOne({name: 'Togo'}, (err, item) => { console.log(item)})
zamykanie połączenia
Po zakończeniu operacji można wywołać metodę close()
na obiekcie klienta:
client.close()
użyj promises lub async/await
wszystkie te przykłady zamieściłem używając składni zwrotnej. To API obsługuje również obietnice (i asynchroniczne / oczekiwanie).
na przykład ten
collection.findOne({name: 'Togo'}, (err, item) => { console.log(item)})
może być używany z obietnicami:
collection.findOne({name: 'Togo'}) .then(item => { console.log(item) }) .catch(err => { console.error(err) })
lub asynchroniczne/oczekiwanie:
const find = async () => { try { const item = await collection.findOne({name: 'Togo'}) } catch(err => { console.error(err) })}find()
Pobierz mój darmowy węzeł.js Handbook
pełny Bootcamp JavaScript 2021 jest już otwarty dla rejestracji do przyszłego wtorku! Nie przegap tej okazji, Zarejestruj się już dziś!
więcej samouczków węzłów:
- węzeł.lista opcji js Runtime v8
- Jak wydrukować canvas na URL danych
- Jak używać MongoDB z węzłem.js
- Przewodnik po Pug
- zainstaluj starszą wersję pakietu npm
- Jak określić, czy data jest dzisiaj w JavaScript
- Jak napisać plik CSV z węzłem.js
- node file stats
- parsowanie JSON z węzłem.js
Leave a Reply