A.
U 2019-2020
Révision BD NoSQL
1. MongoDB est une BDNR orientée :
A- Graphe.
B- Documents.
C- Clé/Valeur.
D- Colonnes.
2. Une collection et un document MongoDB sont équivalents respectivement aux concepts SQL :
A- Table et ligne.
B- Table et colonne.
C- Base de données et table.
D- Aucune des réponses.
La collection c'est l'équivalent de la table et le document c'est l'équivalent de la ligne
3. Certains documents de la collection posts contiennent les champs suivants :
posts (_id, post_text, post_author, post_timestamp, post_tags)
Quelle requête récupère seulement la valeur du champ post_text du premier document ?
A- [Link] ({}, {_ id: 0, post_text: 1})
B- [Link] ({post_text: 1})
C- [Link] ({}, { post_text: 1})
D- [Link] ({}, {_ id: 0, post_text: 1})
MongoDB affiche par défaut le champ _id. Pour ne pas l'afficher il faut explicitement indiquer id: à 0
(ou false)
4. Dans une collection posts qui contient 100 documents, que retourne la commande suivante ?
[Link](). skip (5). limit (5)
A- Skip et limite s’annulent mutuellement. D'où le retour des cinq premiers documents.
B- Saute les cinq premiers documents et renvoie le sixième document cinq fois.
C- Saute les cinq premiers documents et renvoie les cinq prochains.
D- Limite les cinq premiers documents, puis revient dans l'ordre inverse.
Skip(5) permet de sauter les cinq premiers documents et limit(5) permet de limiter l'affichage aux cinq
documents suivants
5. Laquelle des requêtes MongoDB suivantes est équivalente à la requête SQL :
UPDATE users SET status = ‘C’ WHERE age> 25
Page 1 sur 4
A- [Link] ({Age: {$ gt: 25}},{status: "C"})
B- [Link] ({Age: {$ gt: 25}},{$ set: {status: "C"}})
C- [Link] ({Age: {$ gt: 25}},{status: "C"},{multi: true})
D- [Link] ({Age: {$ gt: 25}},{$ set: {status: "C"}}, {multi: true})
$set pour faire une mise à jour sélective des champs (voir page 21 du chapitre CRUD)
multi : true pour que tous les documents concernés soient mis à jour car dans MongoDB les requêtes de
mise à jour ne s’appliquent qu’à un seul document (voir page 22 du chapitre CRUD)
6. Laquelle des requêtes MongoDB suivantes est équivalente à la requête SQL :
SELECT count(id_livre) nbr_livre FROM livres GROUP BY nom_auteur, annee
A- [Link]([{$group:{ _id:{"$author","$year"}, nbr_livre:{$sum:1}}}])
B- [Link]([{$group:{_id:{nom_auteur:"$author", annee:{$year:"$date_pub"}},
nbr_livre:{$sum:1}}}])
C- [Link]([{$group:{_id:{nom_auteur :"$author",annee :"$year"},
nbr_livre:{$sum: "$id_livre"}}}])
D- [Link]([{$group:{"$author","$year"}, nbr_livre:{$count: "$id_livre"}}}])
$sum:1 est l'quivalent du count () (voir page 12 du chapitre agrégation)
7. Quelle est la taille maximale d'un document MongoDB ?
A- 2 MB
B- 16 MB
C- 12 MB
D- Il n'y a pas de taille maximale. Cela dépend de la RAM.
Voir page 5 du chapitre introduction MongoDB
8. Quelle commande ne peut pas être utilisée pour afficher toutes les bases de données dans MongoDB ?
A- show dbs
B- show databases
C- show dbs -all
D- ls dbs
Voir page 5 du chapitre CRUD
9. La commande mongoimport est utilisée pour :
A- Importer toutes les données d’une base de données à une autre.
B- Importer toutes les données d’une collection à une autre.
C- Importer les données à partir d’un fichier JSON.
D- Aucune des réponses.
Voir page 28 du chapitre CRUD
10. Quelle commande permet de lancer le shell MongoDB :
Page 2 sur 4
A- mongod
B- mongos
C- mongo
D- mongoshell
Voir page 4 du chapitre CRUD
11. L’indexation dans MongoDB se fait :
A- Uniquement sur un champ
B- Sur un ou plusieurs champs
C- Sur au plus 3 champs
D- Aucune des réponses
Voir page 3 du chapitre indexation
12. Par défaut, MongoDB écrit les données uniquement au niveau du nœud primaire d'un réplica set :
A – Vrai.
B – Faux.
Les opérations d'écriture se font uniquement au niveau du nœud primaire. Les opérations de lecture se
font à partir du nœud primaire et des nœuds secondaires.
13. Dans MongoDB, il est possible de créer un index :
A- Géospatial.
B- Textuel.
C- Graphique.
D- Analytique.
Voir chapitre indexation
14. Dans MongoDB, il est possible de faire le suivi :
A- De toutes les requêtes.
B- De quelques requêtes choisies aléatoirement.
C- Des requêtes lentes.
D- Aucune des réponses.
En utilisant explain
15. Dans la commande suivante : [Link]({"student_id": 1, "type":1, "score":1},
{name "ind"}), l’index est utilisé dans les requêtes comprenant les critères de recherche :
A- student_id, type.
B- type, score.
C- type.
Page 3 sur 4
D- score.
Il est impératif de respecter l’ordre de création des index.
16. Le sharding dans MongoDB consiste à :
A- Sauvegarder les données sur plusieurs machines.
B- Synchroniser les données entre plusieurs machines.
C- Dupliquer les données sur plusieurs machines.
D- Aucune des réponses
Le sharding est une méthode proposée par MongoDB qui permet de distribuer les données sur plusieurs
machines
17. Dans MongoDB, la clé de sharding doit être :
A- _minkey.
B- _id.
C- _maxkey.
D - Aucune des réponses.
On définit comme clé un champ présent dans tous les documents.
18. Dans un réplica set, suite à une panne (ou un failover), un nœud devra effectuer un rollback. De
quel nœud s’agit-il ?
A- L’ancien nœud primaire.
B- Le nouveau nœud primaire.
L' ancien nœud primaire doit effectuer un rollback pour être à niveau avec les autres nœuds (voir
chapitre introduction MongoDB page 19)
19. Quel(s) nœud(s) d'un réplica set participe(nt) au vote pour l'élection du nœud primaire :
A- Secondaire.
B- Arbitre.
C- Les deux réponses précédentes.
D- Aucune des réponses.
Voir pages 19-20 du chapitre Introduction MongoDB
20. Le mécanisme qui permet d’éviter la perte de données est :
A- La réplication
B- Le partitionnement
C- La scalabilité
D- La fragmentation
MongoDB propose un mécanisme de réplication, Le réplica set, pour se prémunir contre la perte partielle
de données et assurer la continuité du service.
Page 4 sur 4