Python MongoDB-forespörjning

Filtrera resultat

När du söker dokument i en samling kan du använda query-objektet för att filtrera resultaten.

find() Den första parametern är query-objektet, som används för att begränsa sökningen.

Exempel

Sök dokument med adressen "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)

Kör Exempel

Avancerad Sökning

För att genomföra avancerade sökningar kan du använda modifierare som värden i sökobjektet.

Till exempel, om du vill söka dokument där fältet "address" börjar med bokstaven "S" eller högre (i bokstavsordning), använd större än modifieraren:{"$gt": "S"}:

Exempel

Sök dokument där adressen börjar med bokstaven "S" eller högre:

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)

Kör Exempel

Använd regular expressions för att filtrera

Du kan också använda regular expressions som en modifierare.

Regular expressions kan endast användas för att söka strängar.

Om du bara vill söka dokument där fältet "address" börjar med bokstaven "S", använd regular expression {"$regex": "^S"}:

Exempel

Sök dokument med adress som börjar med bokstaven "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)

Kör Exempel