Python MongoDB Sorgusu

Sonuçları filtreleme

Koleksiyonda belge ararken, sonuçları query nesnesi ile filtreleyebilirsiniz.

find() Arama sınırlamak için kullanılan query nesnesi ilk parametredir.

Örnek

Adresi "Park Lane 38" olan belgeyi arama:

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)

Uygulama Çalıştır

Gelişmiş Sorgu

Gelişmiş sorgular yapmak için, modifikatörleri sorgu nesnesi içindeki değer olarak kullanabilirsiniz.

Örneğin, "address" alanında "S" harfi veya daha yüksek (harf sırasına göre) başlayan belgeleri bulmak için, büyük harf modifikatörünü kullanın:{"$gt": "S"}:

Örnek

Adresin "S" harfi veya daha yüksek başlayan belgeleri bulma:

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)

Uygulama Çalıştır

Regular expression ile filtreleme yapma

Regular expression'i bir süsleyici olarak da kullanabilirsiniz.

Regular expression sadece sorgu dizgileri için kullanılabilir.

Sadece "address" alanında "S" harfi ile başlayan belgeleri bulmak için, regular expression kullanın: {"$regex": "^S"}:

Örnek

Adresin "S" harfi ile başlayan belgeleri bulma:

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)

Uygulama Çalıştır