-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProject.mongodb
More file actions
170 lines (150 loc) · 3.61 KB
/
Project.mongodb
File metadata and controls
170 lines (150 loc) · 3.61 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
// Select the database to use.
//Crie uma coleção chamada Filmes que contenha os seguintes campos:
const database = 'Projeto'
db.createCollection("filmes")
use('projeto')
db.filmes.insertMany(
[
{Nome: "Duna",
Diretor: "Denis Villeuneve",
Elenco:"Timothee Chalamet, Rebecca Ferguson, Zendaya",
Ano:2021,
Premios:0},
{nome:"Central do Brasil",
Diretor:"Walter Salles",
Elenco:"Fernanda Montenegro, Vinicius de Oliveira",
Ano:1998,
Premios:20},
{Nome:"Cidade dos Sonhos",
Diretor: "David Lynch",
Elenco:"Naomi Watts, Laura Helena Harring",
Ano:2001,
Premio:18},
{Nome:"king kong",
Diretor:"Peter Jackson",
Elenco:"Naomi Watts, Jack Black, Adrien Brody",
Ano:2005,
Premios:10},
{Nome:"Bela Vinganza",
Diretor:"Emerald Fennel",
Elenco:"Carey Mulligan, Bo Burnham",
Ano:2020,
Premios:22},
{Nome:"SDA: A Sociedade do Anel",
Diretor:"Peter Jackson",
Elenco:"Elijah Wood, Ian Mckellen, Liv Tyler",
Ano:2001,
Premios:15},
{Nome:"Shrek",
Diretor:"Andrew Adamson, Vicky Jenson",
Elenco:"Mike Myers, Eddie Murphy, Cameron Diaz",
Ano:2001,
Premios:10},
{Nome:"Cidade de Deus",
Diretor:"Fernando Meirelles, Katia Luind",
Elenco:"Alexandre Rodrigues, Leandro Firmino da Hora",
Ano:2002,
Premios:15},
{Nome:"Panico",
Diretor:"Wes Craven",
Elenco:"Neve Campbell, Courtney Cox, David Arquette",
Ano:1996,
Premios:6}
]
)
use('projeto')
db.filmes.find()
//pergunta 2
//Busque filmes lançados entre 1997 e 2004.
use('projeto')
db.filmes.find(
{Ano:{$gte:1997, $lte:2004}
}
)
//pergunta 3
//Busque filmes de 2001 ou que comecem com a letra D.
use('projeto')
db.filmes.find({
$or:[
{Ano: 2001},
{Nome: /^D/}]
}
)
//pergunta 4
//Busque filmes lançados dirigidos pelo Peter Jackson ou pelo Walter Salles usando $in.
use('projeto')
db.filmes.find(
{Diretor: {$in: ['Peter Jackson', 'Walter Salles']}
}
)
//pergunta 5
//Busque filmes lançados entre 2002 e 2021 e que contenham as atrizes Naomi Watts ou Carey Mulligan.
use('projeto')
db.filmes.find(
{$and:
[
{Ano:{$gte:2002,$lte:2021}},
{Elenco:{$in:[/^Naomi Watts/, /^Carey Mulligan/]}}
]
},
{Elenco:1, Ano:1, _id:0 }
)
// pergunta 6
//Busque todos os filmes que não sejam entre 2001 e 2005.
use('projeto')
db.filmes.find(
{$and:
[
{Ano:{$gte:1996}},
{Ano:{$lte:2021}},
{Ano: {$not: {$gte:2001, $lte: 2005}}}
]
}
)
//pergunta 7
// Conte quantos filmes foram lançados em 2001.
use('projeto')
db.filmes.find(
{Ano:{$eq: 2001}
}).count()
//pergunta 8
//Selecione apenas o elenco numa distinct.
use('projeto')
db.filmes.distinct( "Elenco" )
//pergunta 9
//Selecione os filmes lançados em 2001,
//apresentando seu nome e diretor apenas,
//em ordem decrescente, limitando a dois resultados.
use('projeto')
db.filmes.find(
{Ano:{$eq: 2001}},
{Diretor: 1, Nome: 1, _id:0 }
).sort( { "Diretor": -1} ).limit(2)
//pergunta 10
//Crie uma index usando o ano como referência.
use('projeto')
db.filmes.createIndex( { Ano: 1 } )
//pergunta 11
//Some os prêmios de todos os filmes.
use('projeto')
db.filmes.aggregate(
[
{$group:
{_id: null, totalAmount:{$sum:'$Premios'}}
}
]
)
//pergunta 12
//Na coleção `sample_mflix` do Mongo Atlas DB,
//crie uma consulta que retorne os filmes com os seus
//comentários utilizando o estágio de agrupamento (e.g.: `$lookup`).
use("sample_mflix")
db.movies.aggregate([{
$lookup:
{
from: "comments",
localField: "_id",
foreignField: "movie_id",
as: "dados"
}
}])