Consultas Python MongoDB

Filtrar resultados

Ao procurar documentos em um conjunto, você pode usar o objeto query para filtrar os resultados.

find() O primeiro parâmetro do método é o objeto query, usado para limitar a pesquisa.

Exemplo

Procurar documentos com o endereço "Park Lane 38":

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

Executar Exemplo

Consultas Avançadas

Para consultas avançadas, você pode usar modificadores como valores no objeto da consulta.

Por exemplo, para encontrar documentos onde o campo "address" começa com a letra "S" ou maior (por ordem alfabética), use o modificador maior:{"$gt": "S"}:

Exemplo

Procurar documentos cuja "address" começa com a letra "S" ou maior:

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)

Executar Exemplo

Usar expressão regular para filtrar

Você também pode usar a expressão regular como modificador.

A expressão regular pode ser usada apenas para consultas de strings.

Se você deseja encontrar documentos onde o campo "address" começa com a letra "S", use a expressão regular {"$regex": "^S"}:

Exemplo

Procurar documentos cuja "address" começa com a 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)

Executar Exemplo