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
Leave a Reply