สำหรับเรื่องนี้ ให้ใช้ $regex ใน MongoDB เราจะค้นหาค่าฟิลด์เอกสารที่มีชื่อ "David" โดยไม่สนใจ case มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน
> db.demo700.insertOne( { details: [ { Name:"david" }]}); { "acknowledged" : true, "insertedId" : ObjectId("5ea6e6b1551299a9f98c93ac") } > db.demo700.insertOne( { details: [ { Name:"Chris" }]}); { "acknowledged" : true, "insertedId" : ObjectId("5ea6e6b9551299a9f98c93ad") } > db.demo700.insertOne( { details: [ { Name:"DAVID" }]}); { "acknowledged" : true, "insertedId" : ObjectId("5ea6e6bf551299a9f98c93ae") } > db.demo700.insertOne( { details: [ { Name:"David" }]}); { "acknowledged" : true, "insertedId" : ObjectId("5ea6e6c4551299a9f98c93af") }
แสดงเอกสารทั้งหมดจากคอลเลกชันด้วยเมธอด find()
> db.demo700.find();
จะได้ผลลัพธ์ดังนี้
{ "_id" : ObjectId("5ea6e6b1551299a9f98c93ac"), "details" : [ { "Name" : "david" } ] } { "_id" : ObjectId("5ea6e6b9551299a9f98c93ad"), "details" : [ { "Name" : "Chris" } ] } { "_id" : ObjectId("5ea6e6bf551299a9f98c93ae"), "details" : [ { "Name" : "DAVID" } ] } { "_id" : ObjectId("5ea6e6c4551299a9f98c93af"), "details" : [ { "Name" : "David" } ] }
คำสั่งสำหรับแสดงเอกสารที่มีชื่อเฉพาะโดยไม่สนใจ case
> db.demo700.find({"details.Name":{$regex:/^David$/i}});
จะได้ผลลัพธ์ดังนี้
{ "_id" : ObjectId("5ea6e6b1551299a9f98c93ac"), "details" : [ { "Name" : "david" } ] } { "_id" : ObjectId("5ea6e6bf551299a9f98c93ae"), "details" : [ { "Name" : "DAVID" } ] } { "_id" : ObjectId("5ea6e6c4551299a9f98c93af"), "details" : [ { "Name" : "David" } ] }