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

MongoDB query แสดงเอกสารที่มีชื่อเฉพาะโดยไม่สนใจ case


สำหรับเรื่องนี้ ให้ใช้ $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" } ] }