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)