Consultas de MongoDB en Python

Filtrar resultados

Al buscar documentos en la colección, puede usar el objeto query para filtrar los resultados.

find() El primer parámetro del método es el objeto query, que se utiliza para limitar la búsqueda.

Ejemplo

Buscar el documento con la dirección "Avenida Lane 38":

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

Ejecutar Ejemplo

Consulta Avanzada

Para realizar consultas avanzadas, puede usar modificadores como valores en el objeto de consulta.

Por ejemplo, para buscar documentos donde el campo "address" comience con la letra "S" o superior (en orden alfabético), utilice el modificador mayor que:{"$gt": "S"}:

Ejemplo

Buscar documentos cuyas direcciones comiencen con la letra "S" o superior:

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)

Ejecutar Ejemplo

Filtrar usando expresión regular

También puede usar la expresión regular como modificador.

La expresión regular solo se puede usar en consultas de cadenas.

Si solo desea buscar documentos donde el campo "address" comience con la letra "S", utilice la expresión regular {"$regex": "^S"}:

Ejemplo

Buscar documentos cuyas direcciones comiencen con la letra "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)

Ejecutar Ejemplo