Sommaire

Les opérateurs de comparaison

Nous allons maintenant effectuer des requêtes sur le seul champ de type entier présent dans nos documents : le champ age.

Si nous souhaitons afficher les personnes dont l’âge est d’exactement 76 ans, nous pouvons exécuter la requête suivante :

db.personnes.find({"age": 76})

Mais nous pouvons également utiliser l’opérateur d’égalité $eq pour demander une égalité stricte :

db.personnes.find({"age": {$eq: 76}})

Si la première forme est bien plus lisible, vous constatez toutefois que le résultat est rigoureusement le même ! La seule différence réside dans la façon d’écrire l’égalité. Nous avons dans le deuxième cas un document qui contient lui-même un document dont la clé est l’opérateur d’égalité $eq et dont la valeur est le nombre 76.

Si nous souhaitons obtenir le prénom des personnes âgées de 76 ans, nous allons faire usage de la partie projection de notre méthode de recherche find en lui listant les champs que nous souhaitons voir apparaître à l’écran. Notre document aura une clé nommée prenom et une valeur booléenne qui sera true.

db.personnes.find({"age": {$eq: 76}}, {"prenom": true})

L’exécution de cette requête montre que certes le champ prenom est bien affiché, ...