-
Notifications
You must be signed in to change notification settings - Fork 0
/
ej10.mongodb
52 lines (50 loc) · 1023 Bytes
/
ej10.mongodb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/**
* Ejercicio 10:
* Listar los actores (cast) que trabajaron en 2 o más películas dirigidas por "Jules Bass".
* Devolver el nombre de estos actores junto con la lista de películas (solo título y año) dirigidas
* por “Jules Bass” en las que trabajaron.
* a. Hint1: addToSet
* b. Hint2: {'name.2': {$exists: true}} permite filtrar arrays con al menos 2 elementos, entender por qué.
* c. Hint3: Puede que tu solución no use Hint1 ni Hint2 e igualmente sea correcta
*/
use('mflix');
db.movies.aggregate([
{
$match: {
directors: 'Jules Bass'
}
},
{
$unwind: '$cast'
},
{
$group: {
_id: '$cast',
movies: {
$addToSet: {
title: '$title',
year: '$year'
}
}
}
},
{
$addFields: {
amount_movies: {
$size: '$movies'
}
}
},
{
$match: {
amount_movies: {
$gte: 2
}
}
},
{
$sort: {
amount_movies: -1
}
}
]);