Dinamic area formación mongodb
-
Upload
fernando-ortega-gallego -
Category
Technology
-
view
285 -
download
6
Transcript of Dinamic area formación mongodb
![Page 1: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/1.jpg)
Diapositiva: 1
Fernando Ortega :: Responsable I+D
[email protected] +34 680 311 676
Formación MongoDB PISCIS
![Page 2: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/2.jpg)
Diapositiva: 2
![Page 3: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/3.jpg)
Diapositiva: 3
1. Introducción
2. Instalación y configuración
3. Operaciones de consulta
4. Operaciones de actualización
5. Índices
6. Aggregation Framework
7. MapReduce
8. MongoDB y Java
3
![Page 4: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/4.jpg)
Diapositiva: 4
1. Introducción
2. Instalación y configuración
3. Operaciones de consulta
4. Operaciones de actualización
5. Índices
6. Aggregation Framework
7. MapReduce
8. MongoDB y Java
4
![Page 5: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/5.jpg)
Diapositiva: 5
NoSQWhat??? 1
- In
tr
od
uc
ció
n
5
![Page 6: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/6.jpg)
Diapositiva: 6
Not Only SQL 1
- In
tr
od
uc
ció
n
6
![Page 7: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/7.jpg)
Diapositiva: 7
Teorema CAP 1
- In
tr
od
uc
ció
n
7
![Page 8: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/8.jpg)
Diapositiva: 8
RDBMS 1
- In
tr
od
uc
ció
n
8
Estándar SQL
ACID
Esquema fijo
Modelo de datos de tablas y
columnas
Difícil de escalar
Atomicidad de
transacciones
![Page 9: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/9.jpg)
Diapositiva: 9
NoSQL 1
- In
tr
od
uc
ció
n
9
Múltiples soluciones
BASE
Esquema flexible
Múltiples modelos de datos
Orientado a la escalabilidad
Menor preocupación por
transacciones
![Page 10: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/10.jpg)
Diapositiva: 10
Cuál usamos 1
- In
tr
od
uc
ció
n
10
![Page 11: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/11.jpg)
Diapositiva: 11
Depende… 1
- In
tr
od
uc
ció
n
11
“Puedes poner un tornillo usando un martillo pero lo
ideal es utilizar un destornillador”
![Page 12: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/12.jpg)
Diapositiva: 12
Tipos Básicos de NoSQL
Clave-Valor Documentos
Grafos Columnas
1 -
In
tr
od
uc
ció
n
12
![Page 13: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/13.jpg)
Diapositiva: 13
Tipo Documentos 1
- In
tr
od
uc
ció
n
13
El documento es la unidad
de almacenamiento
Colecciones contienen
documentos
Colecciones ~= Tablas
No hay esquema
predefinido
JSON o XML
![Page 14: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/14.jpg)
Diapositiva: 14
Historia de MongoDB Diseñado y desarrollado por los fundadores de DoubleClick,
ShopWiki, GILT Groupe, etc…
2007 – Inicio de la implementación
2008 – Primer sitio en producción: businessinsider.com
Código abierto (C++) – AGPL
2009 – Versión 1.0
2011 – Versión 2.0
2015 – Versión 3.0
1 -
In
tr
od
uc
ció
n
14
![Page 15: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/15.jpg)
Diapositiva: 15
MongoDB 1
- In
tr
od
uc
ció
n
15
Orientada a documentos
• BSON -> Binary JSON
• Esquema flexible
Arquitectura escalable
• Auto-sharding
• Replicación y alta
disponibilidad
Otras características
• Índices secundarios
• Lenguaje de consulta
• MapReduce
![Page 16: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/16.jpg)
Diapositiva: 16
Ejemplo CLIENTES
{
“Cliente” : 123,
“Nombre” : “Pepe Jiménez”,
“Dirección” : “Calle A nº 13”,
“ultimo_pedido”:
{
“id_pedido” : 2,
“Productos” :
[
{
“id_producto” : 43,
“Nombre”:”Impresora Láser”,
“Fabricante” : “Canon”,
“Cantidad” : 4
}
]
}
}
16
PEDIDOS {
"id_pedido":1,
…
},
{
"id_pedido": 2,
"id_cliente":1233,
"Dirección":" Calle A nº 13",
"Productos":
[
{
"id_producto":43,
"Nombre":"Impresora Láser",
"Fabricante":"Canon",
"Cantidad": 4
}
]
}
![Page 17: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/17.jpg)
Diapositiva: 17
1. Introducción
2. Instalación y configuración
3. Operaciones de consulta
4. Operaciones de actualización
5. Índices
6. Aggregation Framework
7. MapReduce
8. MongoDB y Java
17
![Page 18: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/18.jpg)
Diapositiva: 18
Descarga e instalación
https://www.mongodb.org/downloads (v2.6.1)
Seleccionar S.O.
Seleccionar los componentes y ruta a instalar
while (!fin) { fin = siguiente();}
Configurar ruta por defecto de la base de datos
2 -
In
sta
lac
ión
y
c
on
fig
ur
ac
ión
18
![Page 19: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/19.jpg)
Diapositiva: 19
Opciones de configuración
YAML desde 2.6.x
http://docs.mongodb.org/manual/reference/configuration-options/
Algunas opciones destacadas:
•systemLog Options
•processManagement
•net
•security
•storage
2 -
In
sta
lac
ión
y
c
on
fig
ur
ac
ión
19
![Page 20: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/20.jpg)
Diapositiva: 20
Ejemplo de configuración 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
20
![Page 21: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/21.jpg)
Diapositiva: 21
Ejecución de MongoDB 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
21
mongod: Proceso demonio
para ejecutar MongoDB
Gestiona peticiones, acceso
a datos y operaciones en
background.
Algunas opciones básicas:
• --help
• --version
• --config <filename>
• --verbose
• --port
• --httpinterface
![Page 22: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/22.jpg)
Diapositiva: 22
Instalación como servicio 1. Crear un directorio para guardar el log de eventos:
mkdir databases\db1\logs
2. Crear un directorio para la configuración de la base de datos:
mkdir databases\db1\cfg
3. Crear un fichero mongod.cfg:
logpath=d:\software\mongodb\databases\db1\logs\mongo.log
port=27666
Dbpath=d:\software\mongodb\databases\db1
4. Ejecutar el siguiente comando como administrador con PowerShell :
mongod --config “d:\software\mongodb\databases\db1\cfg\mongod.cfg” -install
2 -
In
sta
lac
ión
y
c
on
fig
ur
ac
ión
22
![Page 23: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/23.jpg)
Diapositiva: 23
Replicación 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
23
![Page 24: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/24.jpg)
Diapositiva: 24
Replicación 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
24
![Page 25: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/25.jpg)
Diapositiva: 25
Sharding – Baraja de cartas 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
25
![Page 26: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/26.jpg)
Diapositiva: 26
Estado inicial 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
26
Jugador 1
Jugador 2
Jugador 3
Jugador 4
Crupier
{}
{} {}
{}
{12,1,9,10,7,8,6,11,2,6,
3,3,12,5,8,5,8,10,3,4,1
2,11,6,4,6,1,1,7,2,7,11,
8,3,5,1,5,9,11,4,9,2,7,1
2,9,10,4,10,2}
![Page 27: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/27.jpg)
Diapositiva: 27
Primer reparto 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
27
Jugador 1
Jugador 2
Jugador 3
Jugador 4
Crupier
{12,1,9,10,7,8,
6,11,2,6,3,3}
{} {}
{}
{12,5,8,5,8,10,3,4,12,1
1,6,4,6,1,1,7,2,7,11,8,3,
5,1,5,9,11,4,9,2,7,12,9,
10,4,10,2}
![Page 28: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/28.jpg)
Diapositiva: 28
Ordenación y división 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
28
Jugador 1
Jugador 2
Jugador 3
Jugador 4
Crupier
{1,2,3,3,6,6}
{7,8,9,10,11,12}
{} {}
{}
{12,5,8,5,8,10,3,4,12,1
1,6,4,6,1,1,7,2,7,11,8,3,
5,1,5,9,11,4,9,2,7,12,9,
10,4,10,2}
![Page 29: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/29.jpg)
Diapositiva: 29
Movimiento de cartas 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
29
Jugador 1
Jugador 2
Jugador 3
Jugador 4
Crupier
{1,2,3,3,6,6}
{7,8,9,10,11,12} {}
{}
{12,5,8,5,8,10,3,4,12,1
1,6,4,6,1,1,7,2,7,11,8,3,
5,1,5,9,11,4,9,2,7,12,9,
10,4,10,2}
![Page 30: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/30.jpg)
Diapositiva: 30
Seguimos repartiendo 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
30
Jugador 1
Jugador 2
Jugador 3
Jugador 4
Crupier
{1,2,3,3,6,6,5,5
,3,4}
{7,8,9,10,11,12,
12,8,8,10,12,11}
{}
{}
{6,4,6,1,1,7,2,7,11,8,3,
5,1,5,9,11,4,9,2,7,12,9,
10,4,10,2}
![Page 31: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/31.jpg)
Diapositiva: 31
Volvemos a dividir y mover 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
31
Jugador 1
Jugador 2
Jugador 3
Jugador 4
Crupier
{1,2,3,3,3,4}
{5,5,6,6}
{7,8,8,8}
{9,10, 10,11,11,12,
12, 12}
{}
{}
{6,4,6,1,1,7,2,7,11,8,3,
5,1,5,9,11,4,9,2,7,12,9,
10,4,10,2}
![Page 32: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/32.jpg)
Diapositiva: 32
Volvemos a dividir y mover 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
32
Jugador 1
Jugador 2
Jugador 3
Jugador 4
Crupier
{1,2,3,3,3,4}
{5,5,6,6,7,8,
8,8}
{9,10,10,11,11,12
,12, 12}
{}
{6,4,6,1,1,7,2,7,11,8,3,
5,1,5,9,11,4,9,2,7,12,9,
10,4,10,2}
![Page 33: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/33.jpg)
Diapositiva: 33
Repetimos hasta el final 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
33
Jugador 1
Jugador 2
Jugador 3
Jugador 4
Crupier
{1,1,1,1,
2,2,2,2,
3,3,3,3}
{4,4,4,4,
5,5,5,5,
6,6,6,6}
{7,7,7,7,
8,8,8,8,
9,9,9,9}
{10,10,10,10,
11,11,11,11,
12,12,12,12}
{}
![Page 34: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/34.jpg)
Diapositiva: 34
Sharding – Conceptos 2
- In
sta
lac
ión
y
c
on
fig
ur
ac
ión
34
Escalabilidad horizontal
Shard-key: Campo indexado
MongoDB divide los valores
en chunks que se distribuyen en los shards
Estrategias:
• Hash
• Range
Procesos principales:
• Splitting
• Balancing
![Page 35: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/35.jpg)
Diapositiva: 35
1. Introducción
2. Instalación y configuración
3. Operaciones de consulta
4. Operaciones de actualización
5. Índices
6. Aggregation Framework
7. MapReduce
8. MongoDB y Java
35
![Page 36: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/36.jpg)
Diapositiva: 36
Tipos de datos básicos String: guardados en UTF-8. Van siempre entre dobles comillas.
Number: números. Al guardarse en BSON pueden ser de tipo byte,
int32, in64 o double.
Date: fecha almacenada como int64 que representa el número de
millisegundos desde el 1 de enero de 1970
ObjectId: 12 bytes que se utilizan como identificador único de
documento
Boolean: con valor true o false.
Array: van entre corchetes [] y pueden contener de 1 a N elementos,
que pueden ser de cualquiera de los otros tipos.
Documentos: un documento en formato JSON puede contener otros
documentos embebidos que incluyan más documentos o cualquiera de
los tipos anteriormente descritos.
Null.
3 -
O
pe
ra
cio
ne
s d
e c
on
su
lta
36
![Page 37: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/37.jpg)
Diapositiva: 37
Dot Notation 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
37
Acceso:
• Elementos de array
• Campos de documento
embebido
Se puede utilizar en las
consultas db.col.find({
“product.name” : “Canon C234”
})
Se puede utilizar en las
actualizaciones db.col.update({
“product.type” : “printer”,
$set:{“product.info” : “Por determinar”}
})
Se puede combinar con el
operador $
![Page 38: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/38.jpg)
Diapositiva: 38
Consola de MongoDB 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
38
help
show dbs
use <nombre de base de datos>
show collections
show users
show databases
show profile
db.<método>
db.<colección>.<método>
![Page 39: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/39.jpg)
Diapositiva: 39
find
Es la operación básica de lectura
Ejemplo de uso (comparado con MySQL):
3 -
O
pe
ra
cio
ne
s d
e c
on
su
lta
39
![Page 40: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/40.jpg)
Diapositiva: 40
findOne
El comando findOne tiene el mismo funcionamiento que el
comando find, con la diferencia de que si el comando
encuentra más de un resultado que cumpla las condiciones de
la consulta, tan solo nos devolverá el primero.
3 -
O
pe
ra
cio
ne
s d
e c
on
su
lta
40
![Page 41: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/41.jpg)
Diapositiva: 41
pretty 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
41
![Page 42: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/42.jpg)
Diapositiva: 42
Operadores de consulta 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
42
![Page 43: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/43.jpg)
Diapositiva: 43
Comparación 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
43
$eq
$gt
$gte
$lt
$lte
$ne
$in
$nin
![Page 44: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/44.jpg)
Diapositiva: 44
Lógicas 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
44
$or
$and
$not
$nor
![Page 45: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/45.jpg)
Diapositiva: 45
Elementos 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
45
$exists
$type
![Page 46: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/46.jpg)
Diapositiva: 46
Evaluación 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
46
$mod
$regex
$text
$where
![Page 47: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/47.jpg)
Diapositiva: 47
Geoespacial 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
47
$geoWithin
$geoIntersects
$near
$nearSphere
![Page 48: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/48.jpg)
Diapositiva: 48
Array 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
48
all
elemMatch
size
![Page 49: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/49.jpg)
Diapositiva: 49
Operadores de proyección 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
49
![Page 50: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/50.jpg)
Diapositiva: 50
Operadores de proyección 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
50
![Page 51: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/51.jpg)
Diapositiva: 51
Operadores de proyección 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
51
$ -> arrays
$elemMatch
$meta
$slice
![Page 52: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/52.jpg)
Diapositiva: 52
Modificadores del cursor 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
52
![Page 53: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/53.jpg)
Diapositiva: 53
Modificadores del cursor 3
- O
pe
ra
cio
ne
s d
e c
on
su
lta
53
batchSize
count
explain
forEach
hint
limit
max
min
next
pretty
size
skip
sort
toArray
![Page 54: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/54.jpg)
Diapositiva: 54
1. Introducción
2. Instalación y configuración
3. Operaciones de consulta
4. Operaciones de actualización
5. Índices
6. Aggregation Framework
7. MapReduce
8. MongoDB y Java
54
![Page 55: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/55.jpg)
Diapositiva: 55
insert 4
- O
pe
ra
cio
ne
s d
e a
ctu
ali
za
ció
n
55
![Page 56: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/56.jpg)
Diapositiva: 56
insert 4
- O
pe
ra
cio
ne
s d
e a
ctu
ali
za
ció
n
56
![Page 57: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/57.jpg)
Diapositiva: 57
multi-insert 4
- O
pe
ra
cio
ne
s d
e a
ctu
ali
za
ció
n
57
![Page 58: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/58.jpg)
Diapositiva: 58
save ~= insert 4
- O
pe
ra
cio
ne
s d
e a
ctu
ali
za
ció
n
58
Tras save sobre el mismo _id no devuelve error sino que actualiza
![Page 59: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/59.jpg)
Diapositiva: 59
remove 4
- O
pe
ra
cio
ne
s d
e a
ctu
ali
za
ció
n
59
![Page 60: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/60.jpg)
Diapositiva: 60
update 4
- O
pe
ra
cio
ne
s d
e a
ctu
ali
za
ció
n
60
![Page 61: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/61.jpg)
Diapositiva: 61
update 4
- O
pe
ra
cio
ne
s d
e a
ctu
ali
za
ció
n
61
![Page 62: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/62.jpg)
Diapositiva: 62
Operadores de update 4
- O
pe
ra
cio
ne
s d
e a
ctu
ali
za
ció
n
62
$inc
$mul
$rename
$setOnInsert
$set
$unset
$min
$max
$currentDate
![Page 63: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/63.jpg)
Diapositiva: 63
Operadores de arrays 4
- O
pe
ra
cio
ne
s d
e a
ctu
ali
za
ció
n
63
$
$addToSet
$pop
$pullAll
$pull
$push
![Page 64: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/64.jpg)
Diapositiva: 64
Modificadores 4
- O
pe
ra
cio
ne
s d
e a
ctu
ali
za
ció
n
64
$each
$slice
$sort
$position
![Page 65: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/65.jpg)
Diapositiva: 65
1. Introducción
2. Instalación y configuración
3. Operaciones de consulta
4. Operaciones de actualización
5. Índices
6. Aggregation Framework
7. MapReduce
8. MongoDB y Java
65
![Page 66: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/66.jpg)
Diapositiva: 66
Qué son los índices 5
- Ín
dic
es
66
![Page 67: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/67.jpg)
Diapositiva: 67
Creación de índices 5
- Ín
dic
es
67
![Page 68: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/68.jpg)
Diapositiva: 68
Tipos
Default _id
Single Field
Compound Index
Multikey Index
Geospatial Index
Text Indexes
Hashed Indexes
5 -
Ín
dic
es
68
![Page 69: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/69.jpg)
Diapositiva: 69
Single Field 5
- Ín
dic
es
69
![Page 70: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/70.jpg)
Diapositiva: 70
Compound Index 5
- Ín
dic
es
70
![Page 71: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/71.jpg)
Diapositiva: 71
Multikey Index 5
- Ín
dic
es
71
![Page 72: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/72.jpg)
Diapositiva: 72
Geospatial Index 5
- Ín
dic
es
72
![Page 73: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/73.jpg)
Diapositiva: 73
Opciones 5
- Ín
dic
es
73
Unique
Sparse
TTL indexes
![Page 74: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/74.jpg)
Diapositiva: 74
Ordenación 5
- Ín
dic
es
74
Es muy importante especificar el orden para índices
compuestos ya que de ello depende que el índice se cree
facilitando el orden habitual de consulta.
![Page 75: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/75.jpg)
Diapositiva: 75
Consultas cubiertas 5
- Ín
dic
es
75
Campos de
consulta
Campos devueltos
Índice
![Page 76: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/76.jpg)
Diapositiva: 76
Borrado y actualización 5
- Ín
dic
es
76
Eliminar índices
• Para eliminar un índice utilizaremos el comando dropIndex
como se explica en el siguiente ejemplo.
db.products.dropIndex( { "name": 1 }
Regenerar índices
• Al igual que sucede en las bases de datos relacionales
puede ser necesario recrear de nuevo un índice. Para ello
utilizaremos el comando reIndex
db.products.reIndex()
![Page 77: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/77.jpg)
Diapositiva: 77
1. Introducción
2. Instalación y configuración
3. Operaciones de consulta
4. Operaciones de actualización
5. Índices
6. Aggregation Framework
7. MapReduce
8. MongoDB y Java
77
![Page 78: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/78.jpg)
Diapositiva: 78
De un vistazo 6
- A
gg
re
ga
tio
n F
ra
me
wo
rk
78
![Page 79: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/79.jpg)
Diapositiva: 79
Stage operators 6
- A
gg
re
ga
tio
n F
ra
me
wo
rk
79
$project
$match
$redact
$limit
$skip
$unwind
$group
$sort
$geoNear
$out
![Page 80: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/80.jpg)
Diapositiva: 80
Expressions Boolean
•$and
•$or
•$not
Set operators
•setEquals
•setIntersection
•setUnion
•setDifference
•setIsSubset
•anyElementTrue
•allElementsTrue
6 -
A
gg
re
ga
tio
n F
ra
me
wo
rk
80
![Page 81: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/81.jpg)
Diapositiva: 81
Expressions II 6
- A
gg
re
ga
tio
n F
ra
me
wo
rk
81
Comparison Operators
•$cmp
•$eq
•$gt
•$gte
•$lt
•$lte
•$ne
Arithmetic Operators
•$add
•$subtract
•$multiply
•$divide
•$mod
![Page 82: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/82.jpg)
Diapositiva: 82
Expressions III String Operators
•$concat
•$substr
•$toLower
•$toUpper
•$strcasecmp
Text Search -> $meta
Array -> $size
Variable
•$map
•$let
Literal -> $literal
6 -
A
gg
re
ga
tio
n F
ra
me
wo
rk
82
![Page 83: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/83.jpg)
Diapositiva: 83
Expressions IV Date
•$dayOfYear
•$dayOfMonth
•$dayOfWeek
•$year
•$month
•$week
•$hour
•$minute
•$second
•$millisecond
•$dateToString
Conditional
•$cond
•$ifNull
6 -
A
gg
re
ga
tio
n F
ra
me
wo
rk
83
![Page 84: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/84.jpg)
Diapositiva: 84
Accumulators
$sum
$avg
$first
$last
$max
$min
$push
$addToSet
6 -
A
gg
re
ga
tio
n F
ra
me
wo
rk
84
![Page 85: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/85.jpg)
Diapositiva: 85
Algunos ejemplos 6
- A
gg
re
ga
tio
n F
ra
me
wo
rk
85
![Page 86: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/86.jpg)
Diapositiva: 86
Algunos ejemplos II 6
- A
gg
re
ga
tio
n F
ra
me
wo
rk
86
![Page 87: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/87.jpg)
Diapositiva: 87
1. Introducción
2. Instalación y configuración
3. Operaciones de consulta
4. Operaciones de actualización
5. Índices
6. Aggregation Framework
7. MapReduce
8. MongoDB y Java
87
![Page 88: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/88.jpg)
Diapositiva: 88
Qué es MapReduce 7
- M
ap
Re
du
ce
88
![Page 89: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/89.jpg)
Diapositiva: 89
Javascript para todo… 7
- M
ap
Re
du
ce
89
![Page 90: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/90.jpg)
Diapositiva: 90
Javascript para todo… db.people.mapReduce(map,reduce,{out:‘map_reduce_result’})
7 -
M
ap
Re
du
ce
90
![Page 91: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/91.jpg)
Diapositiva: 91
1. Introducción
2. Instalación y configuración
3. Operaciones de consulta
4. Operaciones de actualización
5. Índices
6. Aggregation Framework
7. MapReduce
8. MongoDB y Java
91
![Page 92: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/92.jpg)
Diapositiva: 92
MongoDB Java Driver 8
- M
on
go
DB
y
J
av
a
92
![Page 93: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/93.jpg)
Diapositiva: 93
Spring Data for MongoDB 8
- M
on
go
DB
y
J
av
a
93
![Page 94: Dinamic area formación mongodb](https://reader034.fdocuments.ec/reader034/viewer/2022042716/55cccf4fbb61ebfa0c8b4800/html5/thumbnails/94.jpg)
Diapositiva: 94
Muchas gracias por su atención
94