Está en la página 1de 10

MONGODB

MongoDB es un sistema de base de datos no relacional (NoSQL) open-source orientado a


documentos.

• Multiplataforma
• High Perfomance
• High Availability
• Easy Scalability

Otras herramientas NoSQL

Apache Cassandra

CouchDB

Redis

Neo4j

CUANDO USAR MONGODB

• Mi aplicación va a tener un crecimiento muy rápido


• Mi aplicación va a tener servidores en la nube
• Quiero montar una base de datos lo más rápido posible.
• Mis datos no siempre van a tener la misma estructura
• Mi información es muy dinámica
• Voy a tener muchos usuarios accediendo al mismo tiempo

ESTRUCTURA DE MONGODB

Bases de Datos

Colecciones

Documentos

{
First1: value;
First2: value;
First3: value
}
Los nombres de los campos siempre son cadenas de texto

Los valores (dominios) de estos campos pueden ser: String, Number, Array, Date, Boolean,Object.

DOCUMENTOS

• Los documentos son una abstracción/descripción de una entidad objeto de la vida real
• Es un conjunto de pares-valor (campo-valor)
• Por ejemplo, definimos un documento para una PERSONA

{
“nombre”: “Santiago”,
“apellido”: “Salazar”,
“id”: “1234567890”,
“edad”: “40”
}

COLECCIONES

• Representan un conjunto de documentos de una misma entidad.


• Una colección va a tener TODOS los Usuarios, Personas, Productos, Aeropuertos, etc …

PRACTICA MONGODB

Descarga https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-
2012plus-4.2.8-signed.msi/download

https://www.mongodb.com/try/download/community

Luego de la descarga e instalación Ir a la carpeta correspondiente.

Para Windows:

C:\Program Files\MongoDB\Server\4.2\bin>

En cmd (consola para saber la versión)

C:\Program Files\MongoDB\Server\4.2\bin> .\mongod.exe –version


Para ejecutar desde cualquier parte el servidor de mongo y el cliente (mongodb y mongo
respectivamente) se puede agregar la ruta de la carpeta al path (variables del entorno)

Ruta en el caso de la imagen.

C:\Program Files\MongoDB\Server\4.2\bin>
Crear carpeta data en disco C

Crear carpeta db

Ejecutar el servidor

C:\Users\santiago>mongod
Ejecutar cliente

En una consola nueva digitar mongo

Para salir de cada consola ctrl+c

Listo ya probado el proceso de instalación!


Para comenzar a trabajar Ejecutar en consolas aparte mongod y mongo en modo administrador

PASO 1: Abrir el Mongod.exe (Servidor mongo)

>mongod

PASO 2: Abrir mongo.exe (Cliente mongo)

>mongodb

CREAR UNA DATABASE

>use mitienda (crear una base de datos)


>db (para saber en qué base de datos estamos actualmente
>show dbs (muestra todas las bases de datos creadas)
>help (muestra lista de comandos)
>db.help() (muestra lista de métodos )

CREAR UNA COLECCIÓN (Implicit) / INSERT A DOCUMENT

>db.usuarios.insert({
“cedula”: “1234567890”,
“nombre”: “Santiago Salazar”,
“clave”: “123456”,
“pais”: “Colombia”
})

Resultado:

WriteResult({ "nInserted" : 1 })

CREATE A COLLECTION (Explicit)

>db.createCollection(“productos”)

>show collections (ver el nombre de todas la colecciones)

>db.productos.drop() (Eliminar una collection)

>db.dropDatabase() (Eliminar una Base de Datos)

INSERT DOCUMENT

>db.productos.insert({id: “1”, nombre: “Camiseta S”, valor: 18.5, stock: 2})

>db.productos.insert({id: “2”, nombre: “Camiseta M”, valor: 15.0, stock: 0})

>db.productos.insert({id: “3”, nombre: “Camiseta L”, valor: 20.5, stock: 10})

>db.productos.insert({id: “4”, nombre: “Camiseta XL”, valor: 21.0, stock: 5})

>db.productos.insert({id: “5”, nombre: “Camiseta XXL”, valor: 19.5, stock: 7})

>db.productos.find() mostrar documentos por línea

>db.productos.find().pretty() (pretty(), mostrar de forma organizada)

>db.productos.find().count() mostrar cantidad documentos

INSERT DOCUMENT

>db.usuarios.insert({cedula: “123456780”, name: “Pepito”, clave: “123456”, país: “Colombia”,


productos: [1], n_ordenes: 1 })

EDITAR UN DOCUMENTO

{
“id”: “1”,
“nombre”: “Camiseta S”,
“valor”: 18.5 20.45,
“stock”: 2
}

>db.productos.update({id: “1”}, {$set: {valor: 20.45}})

Para actualizar todos los documentos que cumplan con la condición debemos agregar un TERCER
parámetro:
{multi: true}

ELIMINAR UN DOCUMENTO
>db.productos.deleteOne({id: “1”})

CONSULTAS DE DOCUMENTOS
Realizar consultas a una base de datos es algo muy común y muy necesario.
Ejemplo: Cuantas ordenes exceden los 100 dólares?
Cuantos de mis productos tienen 0 stock?
Cuantos de mis clients son de Colombia?

>db.productos.find() para mostrar de documentos por línea

>db.productos.find().pretty() (pretty(), para mostrar de forma organizada)

CONSULTAR DOCUMENTO QUE CUMPLA LA CONDICION


Dentro de la función FIND, debemos colocar los parámetros de búsqueda

>db.productos.find({valor: 15.0}) para mostrar de documentos por línea

CONSULTAR DOCUMENTO QUE CUMPLA LA CONDICION MENOR QUE

>db.productos.find({valor: {$lt: 16.0}}) lt less mostrar documents menor que

Operación Ejemplo
Igualdad { “stock”: 0}
Menor Que { “valor”: {$lt: 15.0} }
Menor o Igual Que {“valor”: {$lte: 16.0}
Mayor Que { “valor”: {$gt: 18.0} }
Mayor o Igual Que { “valor”: {$gte: 16.0} }
No es Igual { “valor”: {$ne: 0} }
AND { { key1: value1, key:value2} }
OR { $or: [ { key1: value1}, {key2:value2} ] }
AND + OR { key1: value1, $or: [ { key2: {$lt: value2}, {key3: value3} } ]

CONSULTAS POR CANTIDAD DE DOCUMENTOS limit(1) 0 sort()

>db.productos.find().limit(1) devuelve los documentos solicitados

sort() ordenar los documents asd(1) dsc(-1)


1 De menor a mayor
-1 De mayor a menor
>db.productos.find().sort({valor:1}) De menor a mayor
>db.productos.find().sort({valor:-1}) De mayor a menor

Más sobre consultas en MongoDB

https://docs.mongodb.com/manual/reference/program/mongoimport/
https://www.genbeta.com/desarrollo/mongodb-encuentra-tus-datos-con-consultas-simples
https://www.todavianose.com/importar-en-mongodb/

También podría gustarte