PYTHON MONGODB QUERY

Filtrar el resultado

Cuando encuentre documentos en una colección, puede filtrar el resultado utilizando un objeto de consulta. El primer argumento del método find () es un objeto de consulta, y se usa para limitar la búsqueda.

Ejemplo

Encuentre el (los) documento (s) con la dirección «Park Lane 38»:

import pymongo

myclient = pymongo.MongoClient( "mongodb://localhost:12345/")
mydb = myclient["bbdd"]
mycol = mydb["Clientes"]

myquery = { "direccion",  "C/Veracruz 14"}

mydoc = mycol.find(myquery)

for x in mydoc:
print(x)

Consulta avanzada

Para realizar consultas avanzadas, puede utilizar modificadores como valores en el objeto de consulta. P.ej. para encontrar los documentos donde el campo de «dirección» comienza con la letra «S» o superior (alfabéticamente), use el modificador mayor que: {«$ gt»: «S»}:

Ejemplo

Encuentre documentos donde la dirección comience con la letra «S» o superior:

import pymongo

myclient = pymongo.MongoClient( "mongodb://localhost:12345/")
mydb = myclient["bbdd"]
mycol = mydb["Clientes"]

myquery = {"direccion": {"$gt","S"} }

mydoc = mycol.find(myquery)

for x in mydoc:
print(x)

para x en mydoc:   print (x) Filtrar Con Expresiones Regulares También puedes usar expresiones regulares como modificador. Las expresiones regulares solo se pueden utilizar para consultar cadenas. Para buscar solo los documentos donde el campo de «dirección» comienza con la letra «S», use la expresión regular {«$ regex»: «^ S»}:

Ejemplo

Encuentre documentos donde la dirección comience con la letra «S»:

import pymongo

myclient = pymongo.MongoClient( "mongodb://localhost:12345/")
mydb = myclient["bbdd"]
mycol = mydb["Clientes"]

myquery = { "direccion": { "$regex","^S"} }

mydoc = mycol.find(myquery)

for x in mydoc:
print(x)