Integrar MongoDB en Nodejs

Edinson carranza saldaña
Tiempo de lectura: 2 minutos

1. Crear proyecto e instalar MongoDB

Creemos un proyecto y naveguemos a la carpeta del proyecto:




 #create project
 mkdir nodemongo
 #go to folder
 cd nodemongo

Luego inicialice el proyecto:

npm init -y

Ahora instale el paquete oficial de MongDB usando este comando:

npm install mongodb

2. Conéctese a MongoDB

En el directorio raíz, cree un archivo llamado index.js . Abra el archivo y pegue este código:

const mongo = require('mongodb').MongoClient // mongodb client
 const url = 'mongodb://localhost:27017' // you can write remote url too
 mongo.connect(url, {
   useNewUrlParser: true,
   useUnifiedTopology: true
 }, (err, client) => {
   if (err) {
     console.error(err)
     return
   }
 // success: write your logic here
 })

3. Crear base de datos y colección

Podemos crear o conectarnos fácilmente a una base de datos existente usando el client.db() método.

const db = client.db('mynotepaper')

Conéctese para crear una colección (tabla) usando el db.collection()método.

const collection = db.collection('books')

El archivo index.js se ve así:

const mongo = require('mongodb').MongoClient;
 const url = 'mongodb://localhost:27017'
 mongo.connect(url, {
   useNewUrlParser: true,
   useUnifiedTopology: true
 }, (err, client) => {
   if (err) {
     console.error(err)
     return
   }
 // create/connect db
   const db = client.db('mynotepaper')
   console.log("Database connected…!")
 // create/select collection
   const collectionBook = db.collection('books')
 // more logic
 })

Ejecutar node index.jsnode indexcomando para crear una base de datos mynotepaper y una colección de libros .

4. Insertar documento

Para agregar un objeto, necesitamos usar el insertOne() método. Eche un vistazo a la estructura:

collectionName.insertOne({Object}, (err, result) => { // })

Agreguemos un libro:

var document = {
   name: "Book 1",
   author: "Author 1"
 }
 collectionBook.insertOne(document, (err, result) => {
   console.log(result)
 })

Podemos agregar muchos documentos a la vez. La estructura:

collectionName.insertMany([Array], (err, result) => {
 //
 })

Un ejemplo:

var documents = [
   {
     name: "Book 3",
     author: "Author 3"
   },
   {
     name: "Book 4",
     author: "Author 4"
   }
 ]
 collectionBook.insertMany(documents, (err, result) => {
   console.log(result)
 })

5. Recuperar documento

Obtenga todos los documentos:

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

Obtenga un solo documento:

collectionBook.findOne({name: 'Book 1'}, (err, item) => {
   console.log(item)
 })

Colección de filtros:

collectionBook.find({name: 'Book 1'}).toArray((err, items) => {
   console.log(items)
 })

6. Actualizar documento

Usando el updateOne()método, podemos actualizar un documento existente:

collectionBook.find({name: 'Book 1'}).toArray((err, items) => {
   console.log(items)
 })

7. Actualizar documento

Usando el updateOne()método, podemos actualizar un documento existente:

collectionBook.updateOne({name: 'Book 1'}, {'$set': {'name':'Book 5','author':'Author 5'}}, (err, item) => {
   console.log(item)
 })

8. Eliminar documento

Utilice el  deleteOne() método para eliminar un documento:

collectionBook.deleteOne({name: 'Book 1'}, (err, item) => {
   console.log(item)
 })

9. Usar promesas

Podemos usar promesas y async / await. Para obtener un documento, la llamada normal es:

collectionBook.findOne({name: 'Book 2'}, (err, item) => {
   console.log(item)
 })

Podemos llamar usando promesas:

collectionBook.findOne({name: 'Book 2'})
   .then(item => {
     console.log(item)
   })
   .catch(err => {
     console.error(err)
   })
 })

10. Conexión cercana

Después de completar todas las operaciones, debemos cerrar el objeto cliente MongoDB.

client.close()

Eso es todo. Gracias por leer.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

preloader image