9.12. Interroger des documents dans MongoDB : projeter des champs dans des requêtes

Página 38

L'interrogation de documents dans MongoDB est une tâche essentielle pour tout développeur travaillant avec cette base de données NoSQL. La requête est effectuée à l'aide de la méthode find() et peut être affinée via la projection de champs, qui vous permet de spécifier les champs qui doivent être renvoyés dans la requête. Ce chapitre de notre e-book couvrira l'interrogation de documents dans MongoDB et la projection de champs dans les requêtes.

Tout d'abord, comprenons ce qu'est une requête. Dans MongoDB, une requête est une opération qui récupère des documents d'une collection ; c'est-à-dire qu'il extrait les données de la base de données. Une requête peut renvoyer tous les documents d'une collection ou uniquement les documents qui répondent à des conditions spécifiques.

Pour effectuer une requête dans MongoDB, nous utilisons la méthode find(). Cette méthode reçoit deux paramètres : la condition de requête et la projection du champ. La condition de requête est un document qui spécifie les conditions que les documents doivent remplir pour être renvoyés par la requête. La projection de champs est un document qui spécifie quels champs doivent être renvoyés dans les documents qui répondent à la condition de requête.

Par exemple, pour interroger tous les documents d'une collection, vous pouvez utiliser la méthode find() sans paramètre, comme indiqué ci-dessous :

db.collection.find()

Si vous souhaitez interroger des documents qui répondent à une condition spécifique, vous pouvez transmettre cette condition comme premier paramètre à la méthode find(). Par exemple, la requête suivante renvoie tous les documents dont le champ « âge » est supérieur à 20 :

db.collection.find({ "âge": { "$gt": 20 } })

Parlons maintenant de la projection sur le terrain. La projection de champs est un moyen de spécifier quels champs doivent être renvoyés dans les documents qui répondent à la condition de requête. Par défaut, toutes les requêtes dans MongoDB renvoient tous les champs de chaque document. Cependant, dans de nombreux cas, vous souhaiterez peut-être limiter les champs renvoyés pour réduire la quantité de données transférées de la base de données au client.

Pour spécifier la projection des champs, vous pouvez passer un deuxième paramètre à la méthode find(). Ce paramètre est un document qui liste les champs à retourner. Par exemple, la requête suivante renvoie uniquement le champ "name" et le champ "_id" pour tous les documents dont le champ "age" est supérieur à 20 :

db.collection.find({ "age": { "$gt": 20 } }, { "name": 1 })

Notez que le champ "_id" est toujours renvoyé sauf s'il est explicitement exclu. Pour supprimer un champ, vous pouvez définir sa valeur sur 0 dans la projection du champ. Par exemple, la requête suivante renvoie uniquement le champ « nom » pour tous les documents dont le champ « âge » est supérieur à 20 :

db.collection.find({ "age": { "$gt": 20 } }, { "name": 1, "_id": 0 })

En résumé, l'interrogation de documents et la projection de champs sont des opérations fondamentales dans MongoDB. Avec la méthode find() et la projection de champ, vous pouvez récupérer des données de MongoDB de manière efficace et flexible. Dans le prochain chapitre, nous aborderons la mise à jour des documents, une autre opération essentielle dans MongoDB.

Répondez maintenant à l’exercice sur le contenu :

Qu'est-ce qu'une requête dans MongoDB et comment est-elle exécutée ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

399.13. Interroger des documents dans MongoDB : utiliser des index pour optimiser les requêtes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte