PyMongo sử dụng biểu thức chính quy gốc python, giống như cách mà shell mongo sử dụng biểu thức chính quy javascript gốc. Để viết truy vấn tương đương với những gì bạn đã viết trong shell ở trên, bạn sẽ sử dụng:
db.stuff.find_one({'name': re.compile(username, re.IGNORECASE)})
Lưu ý rằng điều này sẽ tránh sử dụng bất kỳ chỉ mục nào có thể tồn tại trên name
trường, tuy nhiên. Một mẫu phổ biến để tìm kiếm hoặc sắp xếp không phân biệt chữ hoa chữ thường là có trường thứ hai trong tài liệu của bạn, ví dụ:name_lower
, luôn được đặt bất cứ khi nào name
thay đổi (thành phiên bản viết thường của name
, trong trường hợp này). Sau đó, bạn sẽ truy vấn một tài liệu như vậy như:
db.stuff.find_one({'name_lower': username.lower()})