Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

การค้นหาแบบไม่สนใจตัวพิมพ์เล็ก-ใหญ่ (Case Insensitive) ใน MongoDB


สำหรับการค้นหาแบบไม่สนใจตัวพิมพ์เล็ก-ใหญ่ ให้ใช้ regex ในเมธอด find() ไวยากรณ์ดังนี้

db.demo572.find({"yourFieldName" : { '$regex':/^yourValue$/i}});

เพื่อเข้าใจไวยากรณ์ข้างต้น มาสร้างคอลเล็กชันกันเถอะ

> db.demo572.insertOne({"CountryName":"US"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e915f0e581e9acd78b427f1") }
> db.demo572.insertOne({"CountryName":"UK"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e915f17581e9acd78b427f2") }
> db.demo572.insertOne({"CountryName":"Us"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e915f1b581e9acd78b427f3") }
> db.demo572.insertOne({"CountryName":"AUS"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e915f20581e9acd78b427f4") }
> db.demo572.insertOne({"CountryName":"us"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e915f25581e9acd78b427f5") }

แสดงเอกสารทั้งหมดด้วยเมธอด find()

> db.demo572.find();

ผลลัพธ์ที่ได้

{ "_id" : ObjectId("5e915f0e581e9acd78b427f1"), "CountryName" : "US" }
{ "_id" : ObjectId("5e915f17581e9acd78b427f2"), "CountryName" : "UK" }
{ "_id" : ObjectId("5e915f1b581e9acd78b427f3"), "CountryName" : "Us" }
{ "_id" : ObjectId("5e915f20581e9acd78b427f4"), "CountryName" : "AUS" }
{ "_id" : ObjectId("5e915f25581e9acd78b427f5"), "CountryName" : "us" }

คำสั่งสำหรับค้นหาแบบไม่สนใจตัวพิมพ์เล็ก-ใหญ่

> db.demo572.find({"CountryName" : { '$regex':/^US$/i}});

ผลลัพธ์ที่ได้

{ "_id" : ObjectId("5e915f0e581e9acd78b427f1"), "CountryName" : "US" }
{ "_id" : ObjectId("5e915f1b581e9acd78b427f3"), "CountryName" : "Us" }
{ "_id" : ObjectId("5e915f25581e9acd78b427f5"), "CountryName" : "us" }