Tìm kiếm Python MongoDB

Lọc kết quả

Khi tìm kiếm tài liệu trong bộ sưu tập, bạn có thể sử dụng đối tượng query để lọc kết quả.

find() Tham số đầu tiên của phương pháp là đối tượng query, được sử dụng để giới hạn tìm kiếm.

Ví Dụ

Tìm kiếm 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ụ

Tra cứu cao cấp

Để thực hiện việc tra cứu cao cấp, bạn có thể sử dụng tiền tố làm giá trị trong đối tượng tra cứu.

Ví dụ, để tìm kiếm tài liệu bắt đầu bằng chữ "address" với chữ "S" hoặc cao hơn (theo thứ tự字母), hãy sử dụng tiền tố lớn hơn:{"$gt": "S"}:

Ví Dụ

Tìm kiếm tài liệu bắt đầu bằng chữ "S" hoặc cao hơ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ụ

Sử dụng biểu thức chính quy để lọc

Bạn cũng có thể sử dụng biểu thức chính quy như một tiền tố.

Biểu thức chính quy chỉ có thể được sử dụng trong việc tra cứu chuỗi.

Nếu chỉ tìm kiếm tài liệu bắt đầu bằng chữ "address" với chữ "S", hãy sử dụng biểu thức chính quy {"$regex": "^S"}:

Ví Dụ

Tìm kiếm tài liệu 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ụ