Truy vấn Python MongoDB
Lọc kết quả
Khi tìm tài liệu trong bộ sưu tập, bạn có thể lọc kết quả bằng cách sử dụng đối tượng truy vấn.
Đối số đầu tiên của phương thức find()
là một đối tượng truy vấn và được sử dụng để giới hạn tìm kiếm.
Ví dụ
Tìm (các) tài liệu có địa chỉ “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)
Chạy ví dụ »Truy vấn nâng cao
Để thực hiện các truy vấn nâng cao, bạn có thể sử dụng công cụ sửa đổi làm giá trị trong đối tượng truy vấn.
Ví dụ: để tìm các tài liệu trong đó trường "địa chỉ" bắt đầu bằng chữ "S" hoặc cao hơn (theo bảng chữ cái), hãy sử dụng công cụ sửa đổi lớn hơn: {"$gt": "S"}
:
Ví dụ
Tìm tài liệu có địa chỉ bắt đầu bằng chữ "S" trở lên:
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)
Chạy ví dụ »Lọc bằng biểu thức chính quy
Bạn cũng có thể sử dụng biểu thức chính quy làm công cụ sửa đổi.
Biểu thức thông thường chỉ có thể được sử dụng để truy vấn chuỗi .
Để chỉ tìm những tài liệu có trường "địa chỉ" bắt đầu bằng chữ cái "S", hãy sử dụng biểu thức chính quy {"$regex": "^S"}
:
Ví dụ
Tìm tài liệu có địa chỉ bắt đầu bằng chữ "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)
Chạy ví dụ »