Query Python MongoDB

Filtraggio dei risultati

Quando si cercano documenti in un collection, è possibile utilizzare l'oggetto query per filtrare i risultati.

find() Il primo parametro del metodo è l'oggetto query, utilizzato per limitare la ricerca.

Esempio

Ricerca del documento con l'indirizzo "Via del Parco 38":

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

Esegui esempio

Ricerca avanzata

Per eseguire ricerche avanzate, è possibile utilizzare i modificatori come valori degli oggetti di ricerca.

Ad esempio, per cercare i documenti con il campo "address" che inizia con la lettera "S" o superiori (per ordine alfabetico), utilizzare il modificatore maggiore:{"$gt": "S"}:

Esempio

Trova documenti con l'indirizzo che inizia con la lettera "S" o superiori:

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)

Esegui esempio

Filtra utilizzando l'espressione regolare

Puoi anche utilizzare l'espressione regolare come modificatore.

L'espressione regolare può essere utilizzata solo per le ricerche di stringa.

Se si desidera cercare solo i documenti con il campo "address" che inizia con la lettera "S", utilizzare l'espressione regolare {"$regex": "^S"}:

Esempio

Trova documenti con l'indirizzo che inizia con la lettera "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)

Esegui esempio