SlideShare una empresa de Scribd logo
E S P E
Modelado Avanzado de Base de Datos
Angel Marcelo Rea Guamán, Ph.D.
amrea1@espe.edu.ec
CRUD MONGO DB
Mongo DB
Operación Nombre en MongoDB
Create Insert
Read Find
Update Update
Delete Remove
Normalmente en las bases de datos, hablamos de operaciones CRUD (Create,
Read, Insert y Delete)
En Mongo estos son los nombres asociados a
Mongo DB
Insert
Para crear una colección e insertar valores hay al menos 4
posibilidades (Restaurants)
{
"address": {
"building": "1007",
"coord": [ -73.856077, 40.848447 ],
"street": "Morris Park Ave",
"zipcode": "10462"
},
"borough": "Bronx",
"cuisine": "Bakery",
"grades": [
{ "date": { "$date": 1393804800000 }, "grade": "A", "score": 2 },
{ "date": { "$date": 1378857600000 }, "grade": "A", "score": 6 },
{ "date": { "$date": 1358985600000 }, "grade": "A", "score": 10 },
{ "date": { "$date": 1322006400000 }, "grade": "A", "score": 9 },
{ "date": { "$date": 1299715200000 }, "grade": "B", "score": 14 }
],
"name": "Morris Park Bake Shop",
"restaurant_id": "30075445"
}
Mongo DB
La segunda forma de crear una colección es
simplemente insertar el primero elemento
db.cuentas.insert({
nombre:"bertoldo",
calle:"General Jamón, num. 3.141592",
cuentas:[ {num:"001", saldo:2000,
compartida:true},
{num:"002", saldo:100, compartida:false}],
datoscontacto:{ email:"bertoldo@ucm.es", telfs:
{fijo:"913421234", movil:["5655555","444444"]} }
})
Mongo DB
La tercera forma de crear una colección, muy útil para pruebas
desde el shell es emplear la instrucción for de Javascript:
for (var i=0; i<200000; i++) {db.coord.insert({x:i,y:i/2});}
Si queremos insertar muchos valores puede ser útil definir una
función Javascript
function nuevasCoord(x,y) {
db.coord.insert({x:x,y:y});
}
Mongo DB
Y ahora simplemente llamamos a la función:
nuevasCoord(10,11)
En la shell se puede preguntar en cualquier momento por el
número de documentos que contiene una colección.
> db.coord.count()
200001
La última posibilidad es insertar un array de documentos de
forma simultánea:
db.m102.insert([{a:1},{b:2},{c:3} ])
Mongo DB
find,skip,limit
Para mostrar por pantalla todos los documentos de una colección:
> db.coord.find()
Inicialmente solo muestra los 10 primeros documentos. Para ver más
teclear it.
A menudo los documentos son demasiado complejos y difíciles de ver
de un solo vistazo:
db.cuentas.find()
Mongo DB
find,skip,limit
Se puede mejorar diciendo al shell que lo imprima bien indentado:
db.cuentas.find().pretty()
En cualquier momento podemos añadir help() al final para ver las
opciones disponibles. Por ejemplo: db.cuentas.find().pretty().help()
Otra forma de mostrar la información es mediante arrays, que además
pueden sernos útiles para consultas complejas:
> db.cuentas.find().toArray()
que transfiere la colección a un array javascript y lo muestra de forma
ordenada.
Mongo DB
find,skip,limit
Si se quiere hacer un array con solo los 2 primeros elementos se puede
limitar:
db.cuentas.find().limit(2).toArray()
También se pueden "saltar" saltar unos cuantos resultados. Digamos
que queremos los documentos que ocupan las posiciones 2 y 3, ambas
incluídas:
db.cuentas.find().limit(2).skip(1).pretty()
Mongo DB
find,skip,limit
Si solo queremos el primer elemento, podemos usar findOne:
db.cuentas.findOne()
Observación: findOne siempre devuelve un único documento.
Si no hay ninguno que cumpla la query devolverá el documento vacío,
null, mientras que find(), que devuelve un cursor simplemente no
devolverá nada.
Mongo DB
Sort:
Para ordenar usaremos la estructura db.coleccion.find(.....).sort(...) -
Dentro de sort pondremos un criterio de ordenación que en general
serán de la forma {clave:1} (ascendente) o {clave:-1} (descendente)
SI mostrar los datos en orden ascendente por nombre. Si hay varios con
el mismo nombre usar orden descendente en el tipo de cocina.
db.coord.find().sort({x:1, y:-1})
Mongo DB
Sort:
Los documentos que no contengan alguna de las claves usadas en la
ordenación se ponen al principio si es ascendente o al final si es
descendente
Siempre que se pongan skip, sort y limit . El orden en el que se
ejecutan es el mismo: primero sort,luego skip y luego limit
Mongo DB
find en detalle
Su forma general tiene dos parámetros:
find(consulta, proyección) Lo mismo se aplica para findOne.
La consulta indica qué documentos se deben seleccionar, y la proyección
que información mostrar de los documentos seleccionados.
Si solo se incluye un parámetro se supone que es la consulta y la
proyección serían todos los datos del documento. Si no se incluye
ningún elemento se asumiría, como ya hemos visto, la consulta que
devuelve todos los documentos (una especie de findall).
Mongo DB
find en detalle
Proyecciones
También tienen la forma de un documento JSON. Indican que
información se mostrará de los documentos obtenidos por la
consulta.
La proyección no cambian el número de documentos que se
mostrarán (esto es misión de la consulta y de funciones como limit y
skip). Lo que cambia la proyección es qué pares clave: valor se
muestran
Mongo DB
find en detalle
Proyecciones
Las reglas básicas de la proyección son las siguientes:
{ } muestra todos los pares clave:valor
{clave1:true,...,claven:true}:muestra solo las claves 1...n (y además
la clave _id)
{clave1:false,...,claven:false}:muestra todas las claves salvo la 1..n
(y además la clave _id)
No se pueden mezclar valores true y false, con una excepción; en el
caso de documento con valores true se puede añadir "_id":false para
indicar que no queremos que se muestre el identificador.
Mongo DB
find en detalle
Consultas Básicas
Se pueden comparar a la sección where de una consulta SQL . Sirven
para seleccionar un subconjunto de documentos de una colección
(aquellos que cumplen la condición expresada por la consulta).
• El documento vacío { } visto como consulta equivale a aceptar
todos los miembros de la colección. Por ejemplo,
db.restaurants.findOne({ }) es equivalente a
db.restaurants.findOne() .
Mongo DB – Find en detalle
Consultas Básicas
{a:b} se entiende como "selecciona los documentos en los que la clave
'a' toma el valor 'b'". En SQL sería "where a=b". En caso de que "a" sea
un array busca que contenga el valor "b".
Ejemplo: vamos a encontrar 4 panaderías ("cuisine" : "Bakery")
en la lista de restaurantes
> db.restaurants.find({ "cuisine" : "Bakery"},
{"name":true,"_id":false}).limit(4)
> { "name" : "Morris Park Bake Shop" }
> { "name" : "Olive'S" }
> { "name" : "Tropical House Baking Co." }
> { "name" : "Cousin John'S Cafe And Bakery" }
Mongo DB – Find en detalle
Operadores
En lugar de la igualdad se pueden usar operadores como precio:
{$gte:50} , que busca documentos incluyendo claves de la forma
precio:v tales que v>=50.
La lista completa de operadores incluye de comparación, lógicos, de
evaluación y muchos
Mongo DB – Find en detalle
Operadores - Comparison
Mongo DB – Find en detalle
Operadores - Logical
Mongo DB – Find en detalle
Operadores - Elements
Mongo DB – Find en detalle
Operadores - Evaluation
Mongo DB – Find en detalle
Operadores - Geospatial
Mongo DB – Find en detalle
Operadores - Array
Mongo DB – Find en detalle
Operadores - Bitwise
Mongo DB – Find en detalle
Operadores - Projects
Mongo DB – Find en detalle
Operadores - Miscellaneous Operators
Mongo DB – Find en detalle
Operadores
Restaurantes que no sean Mexicanos en "3 Avenue":
db.restaurants.find({"address.street":"3 Avenue", "cuisine" :
{$ne:"Mexican"}},{}).
El operador $ne significa "no es igual".
Mongo DB – Find en detalle
Operadores
En la colección de coordenadas creada más arriba (donde cada
documento incluye valores para x e y) encontrar valores de x<5 tales
que y>6
db.coord.find({x:{$gt:5}, y:{$lt:6}},{"_id":false})
{ "x" : 6, "y" : 3 }
{ "x" : 7, "y" : 3.5 }
{ "x" : 8, "y" : 4 }
{ "x" : 9, "y" : 4.5 }
{ "x" : 10, "y" : 5 }
{ "x" : 11, "y" : 5.5 }
{ "x" : 6, "y" : 3 }
{ "x" : 7, "y" : 3.5 }
{ "x" : 8, "y" : 4 }
{ "x" : 9, "y" : 4.5 }
{ "x" : 10, "y" : 5 }
{ "x" : 11, "y" : 5.5 }
Mongo DB – Find en detalle
Operadores
En la colección de coordenadas, encontrar valores tales que 3<x<5:
db.coord.find({x:{$gt:3, $lt:5}},{"_id":false})
{ "x" : 4, "y" : 2 }
{ "x" : 4, "y" : 2 }
En la base de datos de bancos, buscar los clientes que empiezan por
"B".
db.cuentas.find({nombre:{$gte:"B", $lt:"C"}},
{"nombre":true,"_id":false})
{ "nombre" : "Bertoldo" }.
Mongo DB
Practica
Mongo DB
• Show DBS
• Use database
• Cls
• db
• Db.stats()
• Db.help()
• Db.dropdatabase
Mongo DB
• db.collection.distinct(“element")
• db.collection.distinct('product',{"Qty":20})
• db.Restaurantes.find().limit(3)
• db.Restaurantes.find().sort({"cuisine":1})
• 1 asc -1 desc
• empleados.find({"lista": "Pepe"})
• empleados.find({"lista": {"$all": ["Pepe", "Juan"]}})
• empleados.find({"lista.0": "Juan"})
• Restaurantes.find({"address.street" : "63 Road"})
• Restaurantes.find({”borough”:”Queens”},{cuisine:1})
Mongo DB
title : Fight Club
writer : Chuck Palahniuk
year : 1999
actors : [ Brad Pitt
Edward Norton
]
title : Pulp Fiction
writer : Quentin Tarantino
year : 1994
actors : [ John Travolta
Uma Thurman
]
Mongo DB
title : Inglorious Basterds
writer : Quentin Tarantino
year : 2009
actors : [ Brad Pitt
Diane Kruger
Eli Roth
]
title : The Hobbit: An Unexpected Journey
writer : J.R.R. Tolkein
year : 2012
franchise : The Hobbit
Mongo DB
title : The Hobbit: The Desolation of Smaug
writer : J.R.R. Tolkein
year : 2013
franchise : The Hobbit
title : The Hobbit: The Battle of the Five Armies
writer : J.R.R. Tolkein
year : 2012
franchise : The Hobbit
synopsis : Bilbo and Company are forced to engage in a war against an array of
combatants and keep the Lonely Mountain from falling into the hands of a rising
darkness.
title : Pee Wee Herman's Big Adventure
title : Avatar
Mongo DB
Consultas / Buscar documentos
Realizar las siguientes consultas en la colección movies:
1. Obtener todos los documentos
2. Obtener documentos con writer igual a "Quentin Tarantino"
3. Obtener documentos con actors que incluyan a "Brad Pitt"
4. Obtener documentos con franchise igual a "The Hobbit"
5. Obtener todas las películas de los 90s.
Obtener las películas estrenadas entre el año 2000 y 2010.
Mongo DB
Actualizar Documentos
1. Agregar sinopsis a "The Hobbit: An Unexpected Journey" : "A reluctant hobbit,
Bilbo Baggins, sets out to the Lonely Mountain with a spirited group of dwarves
to reclaim their mountain home - and the gold within it - from the dragon
Smaug."
2. Agregar sinopsis a "The Hobbit: The Desolation of Smaug" : "The dwarves, along
with Bilbo Baggins and Gandalf the Grey, continue their quest to reclaim Erebor,
their homeland, from Smaug. Bilbo Baggins is in possession of a mysterious and
magical ring."
3. Agregar una actor llamado "Samuel L. Jackson" a la película "Pulp Fiction"
Mongo DB
Busqueda por Texto / Text Search
1. Encontrar las películas que en la sinopsis contengan la palabra "Bilbo"
2. Encontrar las películas que en la sinopsis contengan la palabra "Gandalf"
3. Encontrar las películas que en la sinopsis contengan la palabra "Bilbo" y no
la palabra "Gandalf"
4. Encontrar las películas que en la sinopsis contengan la palabra "dwarves" ó
"hobbit"
5. Encontrar las películas que en la sinopsis contengan la palabra "gold" y
"dragon"
Mongo DB
Eliminar Documentos
1. Eliminar la película "Pee Wee Herman's Big Adventure"
2. Eliminar la película "Avatar"

Más contenido relacionado

PDF
PPTX
NOSQL: Primeros Pasos en MongoDB
PDF
Semana 3 MONGODB conceptos básicos NOSQL
PPTX
Bd no sq ldocumento
PPTX
Jean piere sarumo mongodb
PPT
Webinario Operaciones Básicas MongoDB
PDF
Análisis de Datos con MongoDB
PPTX
Bd no sql
NOSQL: Primeros Pasos en MongoDB
Semana 3 MONGODB conceptos básicos NOSQL
Bd no sq ldocumento
Jean piere sarumo mongodb
Webinario Operaciones Básicas MongoDB
Análisis de Datos con MongoDB
Bd no sql

Similar a GESTION DE CON Mongo DB UNA REVISON GENERAL (20)

PPTX
Ultisgbd
PPTX
MongoDB.basededatos-nosql-basenorelacion
PDF
Seminario mongo db springdata 10-11-2011
PDF
Presentación sobre Bases de Datos NoSQL Sesion2
PDF
NoSQL, MongoDB y MongoMapper
PPTX
MongoDB Avanzado
PPTX
Mongo db dtalk
PPTX
Introducción a Mongo.pptx
PPTX
MongoDB y bluemix
PPTX
PPT
Mongo db course introduction
PPTX
Persistencia-NoSQL-y-MongoDB-v-2018.02-Prof.-L.-Straccia.pptx
PDF
Nosqlcp
PDF
Nosqlcp
PPTX
1 tutorial de mongo db
PDF
Tema principal de Mongodb y sus beneficios
PDF
Dinamic area formación mongodb
KEY
Mongo Mapper
PPTX
NoSQL, Mongo DB & Google Maps
Ultisgbd
MongoDB.basededatos-nosql-basenorelacion
Seminario mongo db springdata 10-11-2011
Presentación sobre Bases de Datos NoSQL Sesion2
NoSQL, MongoDB y MongoMapper
MongoDB Avanzado
Mongo db dtalk
Introducción a Mongo.pptx
MongoDB y bluemix
Mongo db course introduction
Persistencia-NoSQL-y-MongoDB-v-2018.02-Prof.-L.-Straccia.pptx
Nosqlcp
Nosqlcp
1 tutorial de mongo db
Tema principal de Mongodb y sus beneficios
Dinamic area formación mongodb
Mongo Mapper
NoSQL, Mongo DB & Google Maps
Publicidad

Último (20)

DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
Metodologías Activas con herramientas IAG
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
ciencias-1.pdf libro cuarto basico niños
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
Atencion prenatal. Ginecologia y obsetricia
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
PDF
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PPTX
Doctrina 1 Soteriologuia y sus diferente
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
V UNIDAD - PRIMER GRADO. del mes de agosto
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
Metodologías Activas con herramientas IAG
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
ciencias-1.pdf libro cuarto basico niños
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
Atencion prenatal. Ginecologia y obsetricia
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Escuelas Desarmando una mirada subjetiva a la educación
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
DI, TEA, TDAH.pdf guía se secuencias didacticas
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
Doctrina 1 Soteriologuia y sus diferente
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Publicidad

GESTION DE CON Mongo DB UNA REVISON GENERAL

  • 1. E S P E Modelado Avanzado de Base de Datos Angel Marcelo Rea Guamán, Ph.D. amrea1@espe.edu.ec
  • 3. Mongo DB Operación Nombre en MongoDB Create Insert Read Find Update Update Delete Remove Normalmente en las bases de datos, hablamos de operaciones CRUD (Create, Read, Insert y Delete) En Mongo estos son los nombres asociados a
  • 4. Mongo DB Insert Para crear una colección e insertar valores hay al menos 4 posibilidades (Restaurants) { "address": { "building": "1007", "coord": [ -73.856077, 40.848447 ], "street": "Morris Park Ave", "zipcode": "10462" }, "borough": "Bronx", "cuisine": "Bakery", "grades": [ { "date": { "$date": 1393804800000 }, "grade": "A", "score": 2 }, { "date": { "$date": 1378857600000 }, "grade": "A", "score": 6 }, { "date": { "$date": 1358985600000 }, "grade": "A", "score": 10 }, { "date": { "$date": 1322006400000 }, "grade": "A", "score": 9 }, { "date": { "$date": 1299715200000 }, "grade": "B", "score": 14 } ], "name": "Morris Park Bake Shop", "restaurant_id": "30075445" }
  • 5. Mongo DB La segunda forma de crear una colección es simplemente insertar el primero elemento db.cuentas.insert({ nombre:"bertoldo", calle:"General Jamón, num. 3.141592", cuentas:[ {num:"001", saldo:2000, compartida:true}, {num:"002", saldo:100, compartida:false}], datoscontacto:{ email:"bertoldo@ucm.es", telfs: {fijo:"913421234", movil:["5655555","444444"]} } })
  • 6. Mongo DB La tercera forma de crear una colección, muy útil para pruebas desde el shell es emplear la instrucción for de Javascript: for (var i=0; i<200000; i++) {db.coord.insert({x:i,y:i/2});} Si queremos insertar muchos valores puede ser útil definir una función Javascript function nuevasCoord(x,y) { db.coord.insert({x:x,y:y}); }
  • 7. Mongo DB Y ahora simplemente llamamos a la función: nuevasCoord(10,11) En la shell se puede preguntar en cualquier momento por el número de documentos que contiene una colección. > db.coord.count() 200001 La última posibilidad es insertar un array de documentos de forma simultánea: db.m102.insert([{a:1},{b:2},{c:3} ])
  • 8. Mongo DB find,skip,limit Para mostrar por pantalla todos los documentos de una colección: > db.coord.find() Inicialmente solo muestra los 10 primeros documentos. Para ver más teclear it. A menudo los documentos son demasiado complejos y difíciles de ver de un solo vistazo: db.cuentas.find()
  • 9. Mongo DB find,skip,limit Se puede mejorar diciendo al shell que lo imprima bien indentado: db.cuentas.find().pretty() En cualquier momento podemos añadir help() al final para ver las opciones disponibles. Por ejemplo: db.cuentas.find().pretty().help() Otra forma de mostrar la información es mediante arrays, que además pueden sernos útiles para consultas complejas: > db.cuentas.find().toArray() que transfiere la colección a un array javascript y lo muestra de forma ordenada.
  • 10. Mongo DB find,skip,limit Si se quiere hacer un array con solo los 2 primeros elementos se puede limitar: db.cuentas.find().limit(2).toArray() También se pueden "saltar" saltar unos cuantos resultados. Digamos que queremos los documentos que ocupan las posiciones 2 y 3, ambas incluídas: db.cuentas.find().limit(2).skip(1).pretty()
  • 11. Mongo DB find,skip,limit Si solo queremos el primer elemento, podemos usar findOne: db.cuentas.findOne() Observación: findOne siempre devuelve un único documento. Si no hay ninguno que cumpla la query devolverá el documento vacío, null, mientras que find(), que devuelve un cursor simplemente no devolverá nada.
  • 12. Mongo DB Sort: Para ordenar usaremos la estructura db.coleccion.find(.....).sort(...) - Dentro de sort pondremos un criterio de ordenación que en general serán de la forma {clave:1} (ascendente) o {clave:-1} (descendente) SI mostrar los datos en orden ascendente por nombre. Si hay varios con el mismo nombre usar orden descendente en el tipo de cocina. db.coord.find().sort({x:1, y:-1})
  • 13. Mongo DB Sort: Los documentos que no contengan alguna de las claves usadas en la ordenación se ponen al principio si es ascendente o al final si es descendente Siempre que se pongan skip, sort y limit . El orden en el que se ejecutan es el mismo: primero sort,luego skip y luego limit
  • 14. Mongo DB find en detalle Su forma general tiene dos parámetros: find(consulta, proyección) Lo mismo se aplica para findOne. La consulta indica qué documentos se deben seleccionar, y la proyección que información mostrar de los documentos seleccionados. Si solo se incluye un parámetro se supone que es la consulta y la proyección serían todos los datos del documento. Si no se incluye ningún elemento se asumiría, como ya hemos visto, la consulta que devuelve todos los documentos (una especie de findall).
  • 15. Mongo DB find en detalle Proyecciones También tienen la forma de un documento JSON. Indican que información se mostrará de los documentos obtenidos por la consulta. La proyección no cambian el número de documentos que se mostrarán (esto es misión de la consulta y de funciones como limit y skip). Lo que cambia la proyección es qué pares clave: valor se muestran
  • 16. Mongo DB find en detalle Proyecciones Las reglas básicas de la proyección son las siguientes: { } muestra todos los pares clave:valor {clave1:true,...,claven:true}:muestra solo las claves 1...n (y además la clave _id) {clave1:false,...,claven:false}:muestra todas las claves salvo la 1..n (y además la clave _id) No se pueden mezclar valores true y false, con una excepción; en el caso de documento con valores true se puede añadir "_id":false para indicar que no queremos que se muestre el identificador.
  • 17. Mongo DB find en detalle Consultas Básicas Se pueden comparar a la sección where de una consulta SQL . Sirven para seleccionar un subconjunto de documentos de una colección (aquellos que cumplen la condición expresada por la consulta). • El documento vacío { } visto como consulta equivale a aceptar todos los miembros de la colección. Por ejemplo, db.restaurants.findOne({ }) es equivalente a db.restaurants.findOne() .
  • 18. Mongo DB – Find en detalle Consultas Básicas {a:b} se entiende como "selecciona los documentos en los que la clave 'a' toma el valor 'b'". En SQL sería "where a=b". En caso de que "a" sea un array busca que contenga el valor "b". Ejemplo: vamos a encontrar 4 panaderías ("cuisine" : "Bakery") en la lista de restaurantes > db.restaurants.find({ "cuisine" : "Bakery"}, {"name":true,"_id":false}).limit(4) > { "name" : "Morris Park Bake Shop" } > { "name" : "Olive'S" } > { "name" : "Tropical House Baking Co." } > { "name" : "Cousin John'S Cafe And Bakery" }
  • 19. Mongo DB – Find en detalle Operadores En lugar de la igualdad se pueden usar operadores como precio: {$gte:50} , que busca documentos incluyendo claves de la forma precio:v tales que v>=50. La lista completa de operadores incluye de comparación, lógicos, de evaluación y muchos
  • 20. Mongo DB – Find en detalle Operadores - Comparison
  • 21. Mongo DB – Find en detalle Operadores - Logical
  • 22. Mongo DB – Find en detalle Operadores - Elements
  • 23. Mongo DB – Find en detalle Operadores - Evaluation
  • 24. Mongo DB – Find en detalle Operadores - Geospatial
  • 25. Mongo DB – Find en detalle Operadores - Array
  • 26. Mongo DB – Find en detalle Operadores - Bitwise
  • 27. Mongo DB – Find en detalle Operadores - Projects
  • 28. Mongo DB – Find en detalle Operadores - Miscellaneous Operators
  • 29. Mongo DB – Find en detalle Operadores Restaurantes que no sean Mexicanos en "3 Avenue": db.restaurants.find({"address.street":"3 Avenue", "cuisine" : {$ne:"Mexican"}},{}). El operador $ne significa "no es igual".
  • 30. Mongo DB – Find en detalle Operadores En la colección de coordenadas creada más arriba (donde cada documento incluye valores para x e y) encontrar valores de x<5 tales que y>6 db.coord.find({x:{$gt:5}, y:{$lt:6}},{"_id":false}) { "x" : 6, "y" : 3 } { "x" : 7, "y" : 3.5 } { "x" : 8, "y" : 4 } { "x" : 9, "y" : 4.5 } { "x" : 10, "y" : 5 } { "x" : 11, "y" : 5.5 } { "x" : 6, "y" : 3 } { "x" : 7, "y" : 3.5 } { "x" : 8, "y" : 4 } { "x" : 9, "y" : 4.5 } { "x" : 10, "y" : 5 } { "x" : 11, "y" : 5.5 }
  • 31. Mongo DB – Find en detalle Operadores En la colección de coordenadas, encontrar valores tales que 3<x<5: db.coord.find({x:{$gt:3, $lt:5}},{"_id":false}) { "x" : 4, "y" : 2 } { "x" : 4, "y" : 2 } En la base de datos de bancos, buscar los clientes que empiezan por "B". db.cuentas.find({nombre:{$gte:"B", $lt:"C"}}, {"nombre":true,"_id":false}) { "nombre" : "Bertoldo" }.
  • 33. Mongo DB • Show DBS • Use database • Cls • db • Db.stats() • Db.help() • Db.dropdatabase
  • 34. Mongo DB • db.collection.distinct(“element") • db.collection.distinct('product',{"Qty":20}) • db.Restaurantes.find().limit(3) • db.Restaurantes.find().sort({"cuisine":1}) • 1 asc -1 desc • empleados.find({"lista": "Pepe"}) • empleados.find({"lista": {"$all": ["Pepe", "Juan"]}}) • empleados.find({"lista.0": "Juan"}) • Restaurantes.find({"address.street" : "63 Road"}) • Restaurantes.find({”borough”:”Queens”},{cuisine:1})
  • 35. Mongo DB title : Fight Club writer : Chuck Palahniuk year : 1999 actors : [ Brad Pitt Edward Norton ] title : Pulp Fiction writer : Quentin Tarantino year : 1994 actors : [ John Travolta Uma Thurman ]
  • 36. Mongo DB title : Inglorious Basterds writer : Quentin Tarantino year : 2009 actors : [ Brad Pitt Diane Kruger Eli Roth ] title : The Hobbit: An Unexpected Journey writer : J.R.R. Tolkein year : 2012 franchise : The Hobbit
  • 37. Mongo DB title : The Hobbit: The Desolation of Smaug writer : J.R.R. Tolkein year : 2013 franchise : The Hobbit title : The Hobbit: The Battle of the Five Armies writer : J.R.R. Tolkein year : 2012 franchise : The Hobbit synopsis : Bilbo and Company are forced to engage in a war against an array of combatants and keep the Lonely Mountain from falling into the hands of a rising darkness. title : Pee Wee Herman's Big Adventure title : Avatar
  • 38. Mongo DB Consultas / Buscar documentos Realizar las siguientes consultas en la colección movies: 1. Obtener todos los documentos 2. Obtener documentos con writer igual a "Quentin Tarantino" 3. Obtener documentos con actors que incluyan a "Brad Pitt" 4. Obtener documentos con franchise igual a "The Hobbit" 5. Obtener todas las películas de los 90s. Obtener las películas estrenadas entre el año 2000 y 2010.
  • 39. Mongo DB Actualizar Documentos 1. Agregar sinopsis a "The Hobbit: An Unexpected Journey" : "A reluctant hobbit, Bilbo Baggins, sets out to the Lonely Mountain with a spirited group of dwarves to reclaim their mountain home - and the gold within it - from the dragon Smaug." 2. Agregar sinopsis a "The Hobbit: The Desolation of Smaug" : "The dwarves, along with Bilbo Baggins and Gandalf the Grey, continue their quest to reclaim Erebor, their homeland, from Smaug. Bilbo Baggins is in possession of a mysterious and magical ring." 3. Agregar una actor llamado "Samuel L. Jackson" a la película "Pulp Fiction"
  • 40. Mongo DB Busqueda por Texto / Text Search 1. Encontrar las películas que en la sinopsis contengan la palabra "Bilbo" 2. Encontrar las películas que en la sinopsis contengan la palabra "Gandalf" 3. Encontrar las películas que en la sinopsis contengan la palabra "Bilbo" y no la palabra "Gandalf" 4. Encontrar las películas que en la sinopsis contengan la palabra "dwarves" ó "hobbit" 5. Encontrar las películas que en la sinopsis contengan la palabra "gold" y "dragon"
  • 41. Mongo DB Eliminar Documentos 1. Eliminar la película "Pee Wee Herman's Big Adventure" 2. Eliminar la película "Avatar"