Recherche MongoDB Python

Filtrer les résultats

Lorsque vous cherchez des documents dans une collection, vous pouvez utiliser l'objet query pour filtrer les résultats.

find() Le premier paramètre de la méthode est l'objet query, utilisé pour restreindre la recherche.

Exemple

Recherche de documents dont l'adresse est "Allée du Parc 38":

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": "Allée du Parc 38" }
mydoc = mycol.find(myquery)
for x in mydoc:
  print(x)

Exécuter l'exemple

Recherche avancée

Pour effectuer des recherches avancées, vous pouvez utiliser des modificateurs comme valeurs des objets de recherche.

Par exemple, pour rechercher les documents whose "address" field starts with the letter "S" or higher (in alphabetical order), use the greater modifier:{"$gt": "S"}:

Exemple

Recherche de documents whose "address" starts with the letter "S" or higher:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$gt": "S" }
mydoc = mycol.find(myquery)
for x in mydoc:
  print(x)

Exécuter l'exemple

Filtrer en utilisant les expressions régulières

Vous pouvez également utiliser les expressions régulières comme modificateurs.

Les expressions régulières ne peuvent être utilisées que pour les recherches de chaînes de caractères.

Pour rechercher uniquement les documents whose "address" field starts with the letter "S", use a regular expression {"$regex": "^S"}:

Exemple

Recherche de documents whose "address" starts with the letter "S":

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$regex": "^S" }
mydoc = mycol.find(myquery)
for x in mydoc:
  print(x)

Exécuter l'exemple