Recherche MongoDB en Python
- Page précédente Insertion MongoDB
- Page suivante Requête MongoDB
Dans MongoDB, nous utilisons les méthodes find et findOne pour rechercher des données dans une collection.
Comme la requête SELECT est utilisée pour rechercher des données dans une table de base de données MySQL.
Recherche d'un élément
Pour sélectionner des données dans une collection MongoDB, nous pouvons utiliser find_one()
Méthode.
find_one()
La méthode retourne le premier élément correspondant sélectionné.
Exemple
Recherche du premier document dans la collection "customers" :
Import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] x = mycol.find_one() print(x)
Recherche complète
Pour sélectionner des données dans une table MongoDB, nous pouvons également utiliser find()
Méthode.
find()
La méthode retourne tous les éléments correspondants sélectionnés.
find()
Le premier paramètre de la méthode est l'objet query. Dans cet exemple, nous avons utilisé un objet query vide, qui sélectionne tous les documents de la collection.
find()
La méthode ne fournit pas de paramètres, ce qui donne le même résultat que SELECT * dans MySQL.
Exemple
Retourne tous les documents de la collection "customers" et imprime chaque document :
Import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find(): print(x)
Ne retourne que certains champs
find()
Le second paramètre de la méthode est un objet décrivant les champs inclus dans le résultat.
Ce paramètre est optionnel. Si omis, tous les champs seront inclus dans les résultats.
Exemple
Ne retourne que le nom et l'adresse, pas les _ids :
Import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] Pour x dans mycol.find({},{ "_id": 0, "name": 1, "address": 1 }): print(x)
Il n'est pas permis de spécifier simultanément 0 et 1 dans le même objet (sauf si l'un des champs est le champ _id). Si le champ spécifié avec une valeur de 0, toutes les autres valeurs des champs sont 1, et vice versa :
Exemple
Cet exemple exclut "address" des résultats :
Import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] Pour x dans mycol.find({},{ "address": 0 }): print(x)
Exemple
Si 0 et 1 sont spécifiés simultanément dans le même objet, une erreur se produira (sauf si l'un des champs est le champ _id) :
Import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] Pour x dans mycol.find({},{ "name": 1, "address": 0 }): print(x)
- Page précédente Insertion MongoDB
- Page suivante Requête MongoDB