Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Truy vấn MongoDB tìm kiếm không phân biệt chữ hoa thường

Tạo collection với các tài liệu mẫu:

> db.demo186.insertOne({"UserEmailId":"JOHN@GMAIL.COM","UserName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e399d769e4f06af55199808") }
> db.demo186.insertOne({"UserEmailId":"chris@gmail.com","UserName":"chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e399d879e4f06af55199809") }
> db.demo186.insertOne({"UserEmailId":"DAVID@GMAIL.COM","UserName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e399d979e4f06af5519980a") }

Hiển thị tất cả tài liệu:

> db.demo186.find();

Kết quả:

{ "_id" : ObjectId("5e399d769e4f06af55199808"), "UserEmailId" : "JOHN@GMAIL.COM", "UserName" : "John" }
{ "_id" : ObjectId("5e399d879e4f06af55199809"), "UserEmailId" : "chris@gmail.com", "UserName" : "chris" }
{ "_id" : ObjectId("5e399d979e4f06af5519980a"), "UserEmailId" : "DAVID@GMAIL.COM", "UserName" : "David" }

Truy vấn tìm kiếm không phân biệt chữ hoa thường (case-insensitive) sử dụng regex và toán tử $or:

> var userMailId = [ /john@gmail.com/i, /david@gmail.com/i ]
> db.demo186.find({
   '$or': [
      { 'UserEmailId': { '$in': userMailId } },
      { 'UserName': 'John' }
   ]
})

Kết quả - tìm thấy John và David bất kể cách viết hoa/thường:

Lưu ý: Sử dụng regex với flag /i cho phép tìm kiếm không phân biệt chữ hoa thường. Toán tử $or kết hợp nhiều điều kiện tìm kiếm.