0% encontró este documento útil (0 votos)
60 vistas27 páginas

MongoDb Clase Uno

MongoDB es una base de datos NoSQL orientada a documentos. Almacena datos en colecciones de documentos JSON y proporciona alta escalabilidad y rendimiento. MongoDB no tiene un esquema fijo y permite que los documentos en una colección tengan estructuras diferentes.

Cargado por

maty molina
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
60 vistas27 páginas

MongoDb Clase Uno

MongoDB es una base de datos NoSQL orientada a documentos. Almacena datos en colecciones de documentos JSON y proporciona alta escalabilidad y rendimiento. MongoDB no tiene un esquema fijo y permite que los documentos en una colección tengan estructuras diferentes.

Cargado por

maty molina
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

MongoDb

[Link]
Introducción

¿Qué es MongoDb?

MongoDb es una base de datos NoSQL orientada a documentos, utilizando BSON el cual es una
representación binaria del formato JSON. Es altamente escalable, de alto rendimiento y código
abierto. Al igual que la mayoría de las bases de datos NoSQL, MongoDb no posee un esquema
rígido para el almacenamiento. No tener un esquema rígido significa que la estructura de un
documento puede ser muy diferente de la estructura de otro documento almacenado en la
misma colección.
Introducción
¿Qué ventajas obtenemos al utilizar MongoDb?

La respuesta a esta pregunta no es sencilla ni directa. La misma depende principalmente del uso que se
le va a dar a la base de datos, es decir cual es la finalidad de la información almacenada en dicha base de
datos.

El uso de la base la base de datos, nos va a proporcionar una guía si MongoDb es la solución más
apropiada o no, para ellos debemos tener en cuenta algunos requerimientos:

● Disponibilidad.
● Escalabilidad.
● Esquema estable o no.
● Necesidad de transacciones.
● Tasa de respuesta.
● Uso de los datos.
Introducción

Características de MongoDB.

● No posee esquema definido.


● Escalabilidad horizontal.
● Orientado a velocidad de respuesta.
● Soporta fragmentación y replicación (Sharding).
● No soporta transacciones.
● Indexación.
Estructura de MongoDb

Base de datos.

● Una base de datos es un conjunto de colecciones de documentos.


● No existen relaciones entre las colecciones. Es decir la base de datos no controla la
integridad de los datos. No existe el concepto de clave foránea.

Colecciones.

● Son un conjunto de documentos.


● Se puede establecer una analogía entre las colecciones y las tablas de una base de datos
relacional.
Conectando a MongoDb

Utilizando el shell

C:\>%MONGO%\mongo "mongodb://localhost:27017"

(En este caso nos estamos conectando a mongodb sin especificar a qué base de datos)

C:\>%MONGO%\mongo "mongodb://localhost:27017/ejemplo"

(En este caso nos estamos conectando a mongodb especificando la base de datos, la misma debe
existir)
Conectando a MongoDb

Utilizando MongoDb Compass.


Conectando a MongoDb

Usando MongoDb Compass


Creación de una base de datos.

Creando una base de datos utilizando el shell de mongo.

c:\>%MONGO%\mongo

>show dbs (es un comando que permite listar las bases de datos disponible en la instancia a la cual nos estamos
conectando)

>use miBase

Nota: si la base no existe se crea, en caso de ya existir solamente la pone en uso y desde ese momento ya se encuentra
disponible para trabajar con la misma.

switched to db miBase
Trabajando con MongoDb

Crear una colección usando el shell.

>[Link]({x: 1})

{
"acknowledged" : true,
"insertedId" : ObjectId("5e8105d6bc3df0ade6be82ad")
}

Nota: si la colección no existe, la misma es creada.


Trabajando con MongoDb

Creando una colección utilizando MongoDb Compass:


Trabajando con MongoDb

Insertando documentos.
Trabajando con MongoDb

Insertando documentos.

> [Link]({x: 10, y: 10, value: "valor"})

> [Link]([
... {x: 20, value: "valor-20"},
... {y: 15, value: "valor-15"}])
Trabajando con MongoDb

Buscando documentos en una colección.


Trabajando con MongoDb

Buscando documentos en una colección.


Trabajando con MongoDb

Buscando documentos.
Trabajando con MongoDb

Buscando documentos.

> [Link].find({})
{ "_id" : ObjectId("5e8105d6bc3df0ade6be82ad"), "x" : 1 }
{ "_id" : ObjectId("5e810c1abc3df0ade6be82af"), "x" : 20, "value" : "valor-20" }
{ "_id" : ObjectId("5e810c1abc3df0ade6be82b0"), "y" : 15, "value" : "valor-15" }

> [Link].find({x:20})
{ "_id" : ObjectId("5e810c1abc3df0ade6be82af"), "x" : 20, "value" : "valor-20" }

> [Link].find({}).limit(2)
{ "_id" : ObjectId("5e8105d6bc3df0ade6be82ad"), "x" : 1 }
{ "_id" : ObjectId("5e810c1abc3df0ade6be82af"), "x" : 20, "value" : "valor-20"
Trabajando con MongoDb

Actualizando documentos.
Trabajando con MongoDb

Actualizando documentos.
Trabajando con MongoDb

Actualizando documentos.
Trabajando con MongoDb

Actualizando un documento.

> [Link](
... { item: "paper" },
... {
... $set: { "[Link]": "cm", status: "P" },
... $currentDate: { lastModified: true }
... }
... )
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
Trabajando con MongoDb

Actualizando multiples documentos.

> [Link](
... { "qty": { $lt: 50 } },
... {
... $set: { "[Link]": "in", status: "P" },
... $currentDate: { lastModified: true }
... }
... )
{ "acknowledged" : true, "matchedCount" : 3, "modifiedCount" : 3 }
Trabajando con MongoDb

Reemplazando un documento.

> [Link](
... { item: "paper" },
... { item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] }
... )
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
Trabajando con MongoDb

Borrando documentos.
Trabajando con MongoDb

Borrando todos los documentos.

> [Link]({})
{ "acknowledged" : true, "deletedCount" : 10 }

Borrando documentos que cumplen con una condición.

> [Link]({ status : "A" })


{ "acknowledged" : true, "deletedCount" : 2 }

Borrando un documento que cumple con una condición.

> [Link]( { status: "D" } )


{ "acknowledged" : true, "deletedCount" : 1 }
Trabajando con MongoDb

Comportamiento de las operaciones CRUD.

● Campo _id: cada documento almacenado en una colección necesita un identificador único.
● Atomicidad: todas las operaciones de escritura en MongoDb son atómicas a nivel de
documento.
● El método find() retorna un cursor a los documentos que selecciona.
● No se puede cambiar el valor del campo _id reemplazando un documento existente por
otro con un campo _id distinto.
● Orden de los campos:
○ El orden de los campos se mantiene en MongoDb después de las operaciones de escritura.
○ El campo _id es siempre el primer campo.
○ El renombrado de los campos puede ocasionar que se cambie el orden los mismos.
● Opción Upsert: si el documento no existe y la opción está especificada en true el o los
documentos son insertados.
● Incluso si se borran todos los documentos, los índices no son borrados.
Trabajando con MongoDb

También podría gustarte