Python MongoDB Sorgusu
Sonucu Filtrele
Bir koleksiyondaki belgeleri bulurken, bir sorgu nesnesi kullanarak sonucu filtreleyebilirsiniz.
Yöntemin ilk argümanı find()
bir sorgu nesnesidir ve aramayı sınırlamak için kullanılır.
Örnek
"Park Lane 38" adresine sahip belgeleri bulun:
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)
Gelişmiş Sorgu
Gelişmiş sorgular yapmak için sorgu nesnesinde değiştiricileri değerler olarak kullanabilirsiniz.
Örneğin, "adres" alanının "S" harfiyle veya daha yüksek (alfabetik olarak) ile başladığı belgeleri bulmak için, büyüktür değiştiricisini kullanın:
{"$gt": "S"}
:
Örnek
Adresin "S" veya daha yüksek harfle başladığı belgeleri bulun:
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)
Normal İfadelerle Filtrele
Normal ifadeleri değiştirici olarak da kullanabilirsiniz.
Normal ifadeler yalnızca dizeleri sorgulamak için kullanılabilir .
Yalnızca "adres" alanının "S" harfiyle başladığı belgeleri bulmak için normal ifadeyi kullanın {"$regex": "^S"}
:
Örnek
Adresin "S" harfiyle başladığı belgeleri bulun:
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)