|
|
|
@ -33,7 +33,7 @@ mongoimport --collection comments comments.json --db tp1
|
|
|
|
|
|
|
|
|
|
### 1 - Compter le nombre de Thriller présents en base (films qui possèdent au moins le genre Thriller)
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
```js
|
|
|
|
|
db.movies.countDocuments({
|
|
|
|
|
genres: "Thriller"
|
|
|
|
|
});
|
|
|
|
@ -41,16 +41,16 @@ db.movies.countDocuments({
|
|
|
|
|
|
|
|
|
|
ou
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
```js
|
|
|
|
|
db.movies.aggregate([
|
|
|
|
|
{ $match: { genres: "Thriller" } },
|
|
|
|
|
{ $count: "Number contains Thriller in genres" }
|
|
|
|
|
{ $count: "Number of mvovies contains Thriller in genres" }
|
|
|
|
|
]);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
ou
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
```js
|
|
|
|
|
db.movies.find({
|
|
|
|
|
genres: "Thriller"
|
|
|
|
|
}).count();
|
|
|
|
@ -60,7 +60,7 @@ db.movies.find({
|
|
|
|
|
|
|
|
|
|
#### Case sensitive
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
```js
|
|
|
|
|
db.movies.find({
|
|
|
|
|
title: /.*ghost.*/
|
|
|
|
|
});
|
|
|
|
@ -68,7 +68,7 @@ db.movies.find({
|
|
|
|
|
|
|
|
|
|
#### Case insensitive
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
```js
|
|
|
|
|
db.movies.find({
|
|
|
|
|
title: /.*ghost.*/i
|
|
|
|
|
});
|
|
|
|
@ -78,7 +78,7 @@ db.movies.find({
|
|
|
|
|
|
|
|
|
|
#### Case sensitive
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
```js
|
|
|
|
|
db.movies.find({
|
|
|
|
|
title: /.*ghost.*/,
|
|
|
|
|
year: { $gt: 2013 },
|
|
|
|
@ -87,7 +87,7 @@ db.movies.find({
|
|
|
|
|
|
|
|
|
|
#### Case insensitive
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
```js
|
|
|
|
|
db.movies.find({
|
|
|
|
|
title: /.*ghost.*/i,
|
|
|
|
|
year: { $gt: 2013 },
|
|
|
|
@ -96,7 +96,7 @@ db.movies.find({
|
|
|
|
|
|
|
|
|
|
### 4 - Trouver le film qui a gagné le plus de récompenses
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
```js
|
|
|
|
|
db.movies.aggregate([
|
|
|
|
|
{
|
|
|
|
|
$match: { "awards.wins": { $exists: true } }
|
|
|
|
@ -110,9 +110,19 @@ db.movies.aggregate([
|
|
|
|
|
]);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
ou
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
db.movies.find({
|
|
|
|
|
"awards.wins": { $exists: true }
|
|
|
|
|
}).sort({
|
|
|
|
|
"awards.wins": -1
|
|
|
|
|
}).limit(1);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 5 - Trouver le plus vieux film de plus de 2 heures ayant une note inférieur à 2 sur la plateforme imdb
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
```js
|
|
|
|
|
db.movies.aggregate([
|
|
|
|
|
{
|
|
|
|
|
$match: {
|
|
|
|
@ -138,7 +148,7 @@ db.movies.aggregate([
|
|
|
|
|
|
|
|
|
|
### 6 - Modifier la requête précédente pour récupérer en même temps les commentaires.
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
```js
|
|
|
|
|
db.movies.aggregate([
|
|
|
|
|
{
|
|
|
|
|
$match: {
|
|
|
|
@ -172,8 +182,26 @@ db.movies.aggregate([
|
|
|
|
|
|
|
|
|
|
### 7 - Récupérer le nombre de films par pays ainsi que leurs titres.
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
db.movies.aggregate([
|
|
|
|
|
{
|
|
|
|
|
$match: {
|
|
|
|
|
"countries": { $exists: true }
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
$unwind: "$countries"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
$group: {
|
|
|
|
|
_id: "$countries",
|
|
|
|
|
count: { $sum: 1 }
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
$sort: { "count": -1 }
|
|
|
|
|
}
|
|
|
|
|
]);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 👨💻 Author
|
|
|
|
|