Có, bạn có thể sử dụng regexp để thực hiện truy vấn không phân biệt chữ hoa chữ thường trong MongoDB. Cú pháp là asfollows:
db.yourCollectionName.find({"yourFieldName":/^yourvalue$/i});
Để hiểu cú pháp trên, chúng ta hãy tạo một bộ sưu tập với một số tài liệu. Truy vấn tạo một bộ sưu tập với các tài liệu như sau:
> db.caseInsensitiveDemo.insertOne({"Name":"John"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6d7a67f2db199c1278e7ef") } > db.caseInsensitiveDemo.insertOne({"Name":"JOHN"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6d7ad6f2db199c1278e7f0") }
Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của find (). Truy vấn như sau:
> db.caseInsensitiveDemo.find();
Sau đây là kết quả:
{ "_id" : ObjectId("5c6d7a67f2db199c1278e7ef"), "Name" : "John" } { "_id" : ObjectId("5c6d7ad6f2db199c1278e7f0"), "Name" : "JOHN" }
Đây là truy vấn để tạo truy vấn phân biệt chữ hoa chữ thường:
> db.caseInsensitiveDemo.find({"Name":/^john$/i});
Sau đây là kết quả:
{ "_id" : ObjectId("5c6d7a67f2db199c1278e7ef"), "Name" : "John" } { "_id" : ObjectId("5c6d7ad6f2db199c1278e7f0"), "Name" : "JOHN" }