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

MongoDB:ค้นหาชื่อที่คล้ายกับอินพุตนิพจน์ทั่วไปหรือไม่


ส่งชื่อด้วย $regex ใน MongoDB เพื่อค้นหาชื่อที่คล้ายกับอินพุต ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo514.insertOne({"Information":{"FullName":"John Doe"}});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e885116987b6e0e9d18f58c")
}
> db.demo514.insertOne({"Information":{"FullName":"John Smith"}});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e88515e987b6e0e9d18f58d")
}
> db.demo514.insertOne({"Information":{"FullName":"john doe"}});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e885169987b6e0e9d18f58e")
}
> db.demo514.insertOne({"Information":{"FullName":"Chris Brown"}});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e88516f987b6e0e9d18f58f")
}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo514.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5e885116987b6e0e9d18f58c"), "Information" : { "FullName" : "John Doe" } }
{ "_id" : ObjectId("5e88515e987b6e0e9d18f58d"), "Information" : { "FullName" : "John Smith" } }
{ "_id" : ObjectId("5e885169987b6e0e9d18f58e"), "Information" : { "FullName" : "john doe" } }
{ "_id" : ObjectId("5e88516f987b6e0e9d18f58f"), "Information" : { "FullName" : "Chris Brown" } }

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาชื่อที่คล้ายกับอินพุต -

> db.demo514.find({'Information.FullName': {$regex: "John Doe", $options: 'i'}});

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5e885116987b6e0e9d18f58c"), "Information" : { "FullName" : "John Doe" } }
{ "_id" : ObjectId("5e885169987b6e0e9d18f58e"), "Information" : { "FullName" : "john doe" } }