Consulta Python MongoDB
Filtre o resultado
Ao localizar documentos em uma coleção, você pode filtrar o resultado usando um objeto de consulta.
O primeiro argumento do find()
método é um objeto de consulta e é usado para limitar a pesquisa.
Exemplo
Localizar documento(s) 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)
Consulta avançada
Para fazer consultas avançadas, você pode usar modificadores como valores no objeto de consulta.
Por exemplo, para encontrar os documentos onde o campo "endereço" começa com a letra "S" ou superior (em ordem alfabética), use o modificador maior que:
{"$gt": "S"}
:
Exemplo
Encontre documentos cujo endereço comece com a letra "S" ou 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)
Filtrar com expressões regulares
Você também pode usar expressões regulares como um modificador.
Expressões regulares só podem ser usadas para consultar strings .
Para encontrar apenas os documentos onde o campo "endereço" começa com a letra "S", use a expressão regular {"$regex": "^S"}
:
Exemplo
Encontre documentos onde o endereço comece 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)