Some of 'em are really good !
Le but de cet exercice est de vous aider à vous familiariser avec les instructions de base de MongoDB
Nous allons commencer avec un schéma simple :
Un document correspond à un film, qui aura un nom, un réalisateur et une liste d'acteurs qui ont joué dans ce film. Un acteur a un nom et un prénom
Commencez par créer une base de données s'appelant Cinema
Question
Insérer le film "The godfather" réalisé par "Francis Ford Coppola" dans lequel a joué "Marlon Brando", "Al Pacino" et "Robert Duvall"
Toute requête est précédée de db
La requête se fera sur la collection Cinema
db.Cinema.insert({nom :"The godfather", realisateur :"Francis Ford Coppola", acteurs :[{nom :"Pacino", prenom :"Al"}, {nom :"Brando",prenom :"Marlon"}, {nom :"Duvall", prenom :"Robert"}]})
Vous pouvez voir les informations que vous avez rajouter à la Collection en utilisant la méthode find
Question
Marvel prévoit bientôt de faire un film d'avengers avec de jeunes personnages de BD dont Kamala Khan.
Le nom du réalisateur et des acteurs qui vont jouer dans le film ne sont pas encore connus.
Il nous est toutefois demandé d'ajouter cette information dans notre collection sachant que le film s'appellera "Young Avengers". On donnera l'_id 1 au film.
db.Cinema.insert({_id:"1", nom:"Young Avengers"})
Question
Question
Après les premiers castings, il a été convenu que le personnage de Kamala Khan sera interprété par l'actrice pakistanaise Sanam Jhung.
Mettez à jour les informations dans la base.
Nous utiliserons l'opérande $push qui permet d'ajouter une nouvelle valeur dans un tableau.
Son utilisation est similaire à celle de $set
$push :{tab :element} pour ajouter element à la liste des éléments dans tab
tab est créé si il n'existe pas
Utiliser la méthode update et faire un push à la place du set
db.Cinema.update({_id:"1"}, {$push:{acteurs:{nom:"Jhung", prenom:"Sanam"}}})
Question
Pour avoir un peu plus de données dans notre base récupérer le fichier suivant
Sur Robomongo : File->Open pour allez chercher le fichier et ensuite faîtes Ctr+Entrer ou F5 pour exécuter
Sur le console mongo : copiez les instructions dans votre fichier téléchargé et collez les sur l'invite de commande puis faîtes Entrer
Question
Lister les noms des films réalisés par Clint Eastwood
Le premier paramètre de la méthode find est un objet JSON qui permet de faire une restriction.
Exemple : {name :"toto"} pour restreindre les résultats aux gens qui s'appellent toto
Le deuxième paramètre permet de projeter les champs dont on a besoin.
{name :1} par exemple pour projeter le champ name du document.
Mettre le champ _id à 0 pour ne pas le projeter
db.Cinema.find({realisateur :"Clint Eastwood"}, {_id :0, nom :1})
Question
Donnez les films dans lesquels a joué Robert Deniro
db.Cinema.find({'acteurs.nom' :"Deniro"})