Query Examples and MongoDB Syntax Use Cases

Database Querying with MongoDB · course

Voir tous les documents en bases de données

Exemple 1 : des requêtes simples

Nous disposons d’une collection Cinema, voici un exemple de documents insérés dans cette

collection :

{

nom:"Goodfellas",

annee:1990,

realisateur:{nom:"Scorsese", prenom:"Martin"},

acteurs:

[

{nom:"De Niro", prenom:"Robert"},

{nom:"Liotta", prenom:"Ray"},

{nom:"Pesci", prenom:"Joe"}

Publicité

]

})

1. Lister tous les documents de la collection :

db.Cinema.find() ou db.Cinema.find({})

2. Quels sont les films sortis en 1990

db.Cinema.find({"annee":1990})

3. Quels sont les films sortis avant 2000 ?

db.Cinema.find({"annee":{$lt:2000}})

4. Quels sont les films réalisés par quelqu'un prénommé Clint ?

db.Cinema.find({"realisateur.prenom":"Clint"})

5. Quels sont les films réalisés par quelqu'un prénommé Clint avant 2000 ?

db.Cinema.find({"realisateur.prenom":"Clint",

Publicité

"annee":{$lt:2000}})

Exemple 2 : Opérateurs de comparaison

Nous disposons d’une collection Collaborateurs, voici un exemple de documents insérés dans

cette collection :

{

nom : "Dupont"

branche : "Support"

anneeEmbauche : 2018

langages : ["java", "C#", "Python"]

infos : {contact : 0, ville : "Paris", age : 24,

noteSemestrielle : [70,72.3,77.4, 79]}

salaire : 2000

Publicité

}

1. Quels sont les collaborateurs qui ne sont ni Dupont ni Durand.

db.Collaborateurs.find({"name": {$nin: ["Dupont",

"Durand"]}})

2. Quels sont les collaborateurs dont le salaire est compris entre 2000 et 3000

db.Collaborateurs.find({"salaire" : {$lt :3000, $gt :

2000}})

3. Quels sont les collaborateurs qui habitent Paris, dont le salaire est inférieur à 2500.

db.Collaborateurs.find({$and : [{"infos.ville" :

"Paris"}, {"salaire" : {$lt : 2500}}]})

Exemple 3 : Projections

On considère la collection Cinema de l’exemple 1

Publicité

1. Lister tous les noms de films de la collection

db.Cinema.find({}, {"nom" : 1, "_id" : 0})

2. Lister tous noms de films avec le nom/prénom du 1er acteur

db.Cinema.find({}, {"nom" : 1, "_id" : 0, "acteurs.$" : 1)

3. Lister tous noms de films comportant des acteurs dont le prénom est Robert

db.Cinema.find({}, {"nom" : 1, "_id" : 0, "acteurs" :

{$elemMatch : {"prenom" : "Robert"}}})