Articles

Como usar MongoDB com Node.js

the 2021 JavaScript Full-Stack Bootcamp is NOW OPEN FOR SIGNUPS!

Se você não estiver familiarizado com o MongoDB confira o nosso guia sobre seus fundamentos e sobre como instalar e utilizar 🙂

Nós vamos estar usando o oficial mongodb npm pacote. Se já tiver um nó.js projeto que você está trabalhando, instale-o usando

npm install mongodb

Se você começar a partir do zero, crie uma nova pasta com o seu terminal e executar o npm init -y para iniciar um novo Nó.js project, and then run the npm install mongodb command.

conectando-se ao MongoDB

você necessita do pacote mongodb e você recebe o objeto Mongocliente dele.

const mongo = require('mongodb').MongoClient

Criar uma URL para o servidor MongoDB. Se você usar o MongoDB localmente, o URL será algo como , como 27017 é o porto padrão.

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

em Seguida, use o mongo.connect() método para obter a referência para o MongoDB instância de cliente:

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

Agora você pode selecionar um banco de dados usando o client.db() método:

const db = client.db('kennel')

Criar e obter uma coleção

Você pode obter um conjunto de sites usando o db.collection() método. Se a coleção ainda não existe, ela é criada.

const collection = db.collection('dogs')

Inserir dados em uma coleção de um Documento

Adicionar ao aplicativo.js a seguinte função que usa o método insertOne()para adicionar um objetodogs coleção.

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

Você pode adicionar vários itens usando insertMany(), passar uma matriz como o primeiro parâmetro:

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

Encontre todos os documentos

Use find() método de coleta, para obter todos os documentos adicionados à coleção:

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

Encontre um documento específico

Passar um objeto para o find() método para filtrar o conjunto de sites com base no que você precisa para obter:

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

Se você sabe que você está indo para obter um elemento, você pode ignorar o toArray() conversão do cursor chamando findOne():

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

a Atualização de um documento existente

Use updateOne() método para atualizar um documento:

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

Excluir um documento

Use deleteOne() método para eliminar um documento:

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

Fechar a conexão

uma Vez que você é feito com as operações que você pode chamar o close() método sobre o objeto cliente:

client.close()

Usar promessas ou async/await

eu postei todos os exemplos usando a sintaxe de chamada de retorno. Esta API suporta promessas (e async/wait) também.

Por exemplo

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

Pode ser usado com promessas:

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

ou async/await:

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

o Download do meu Nó livre.js Handbook

the 2021 JavaScript Full-Stack Bootcamp IS NOW OPEN FOR SIGNUPS UNTIL NEXT TUESDAY! Não perca esta oportunidade, Inscreva-se hoje!

mais tutoriais do nó:

  • O nó.js Runtime V8 options list
  • Como imprimir uma tela para um URL de dados
  • Como usar o MongoDB com o nó.js
  • The Pug Guide
  • Install an older version of an npm package
  • How to determine if a date is today in JavaScript
  • How to write a CSV file with Node.js
  • Node file stats
  • Parsing JSON with Node.js