Python MongoDB kysely

Suodata tulokset

Kun etsit dokumentteja kokoelmasta, voit käyttää query-objektia suodattamaan tuloksia.

find() Metodin ensimmäinen parametri on query-objekti, joka rajoittaa hakua.

Esimerkki

Etsi asiakirja osoitteesta "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)

Suorita Esimerkki

Edistynyt haku

Jos haluat tehdä edistyneitä hakuja, voit käyttää merkintöjä arvona hakuobjektissa.

Esimerkiksi, jos haluat etsiä "address"-kenttää, joka alkaa kirjaimella "S" tai korkeamman kirjaimen kanssa (alkukirjainjärjestyksessä), käytä suurempaa merkkijonoa -merkintää:{"$gt": "S"}:

Esimerkki

Etsi osoitteita, jotka alkavat kirjaimella "S" tai korkeamman kirjaimen kanssa:

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)

Suorita Esimerkki

Käytä regulaarista ilmausta suodattamiseen

Voit myös käyttää regulaarista ilmausta mukauttavana.

Rekulaarinen ilmaisu voidaan käyttää vain hakujonoissa.

Jos etsit vain "address"-kenttää, joka alkaa kirjaimella "S", käytä regulaarista ilmausta: {"$regex": "^S"}:

Esimerkki

Etsi osoitteita, jotka alkavat kirjaimella "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)

Suorita Esimerkki