ได้ คุณสามารถใช้ regexp เพื่อสร้างแบบสอบถามที่ไม่คำนึงถึงขนาดตัวพิมพ์ใน MongoDB ไวยากรณ์มีดังนี้:
db.yourCollectionName.find({"yourFieldName":/^yourvalue$/i});
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างคอลเลกชันพร้อมเอกสารบางส่วน แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้:
> db.caseInsensitiveDemo.insertOne({"Name":"John"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6d7a67f2db199c1278e7ef") } > db.caseInsensitiveDemo.insertOne({"Name":"JOHN"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6d7ad6f2db199c1278e7f0") }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้ find() แบบสอบถามมีดังนี้:
> db.caseInsensitiveDemo.find();
ต่อไปนี้เป็นผลลัพธ์:
{ "_id" : ObjectId("5c6d7a67f2db199c1278e7ef"), "Name" : "John" } { "_id" : ObjectId("5c6d7ad6f2db199c1278e7f0"), "Name" : "JOHN" }
นี่คือการสืบค้นเพื่อสร้างการสืบค้นที่ไม่คำนึงถึงขนาดตัวพิมพ์:
> db.caseInsensitiveDemo.find({"Name":/^john$/i});
ต่อไปนี้เป็นผลลัพธ์:
{ "_id" : ObjectId("5c6d7a67f2db199c1278e7ef"), "Name" : "John" } { "_id" : ObjectId("5c6d7ad6f2db199c1278e7f0"), "Name" : "JOHN" }