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

Query MongoDB แบบ "like" บนฟิลด์ name และ email ที่ขึ้นต้นด้วยตัวอักษรเฉพาะ


สำหรับการ implement "like" ใน MongoDB ให้ใช้ // และตั้งตัวอักษรเฉพาะนั้นไว้ตรงกลาง ตัวอย่าง

/J/

มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน

> db.demo554.insertOne({"UserName":"John","UserMailId":"John@gmail.com"});{    "acknowledged" : true, "insertedId" : ObjectId("5e8f1cfed1d72c4545cb8679") } > db.demo554.insertOne({"UserName":"Chris","UserMailId":"Chris@gmail.com"});{    "acknowledged" : true, "insertedId" : ObjectId("5e8f1d0cd1d72c4545cb867a") } > db.demo554.insertOne({"UserName":"Jace","UserMailId":"Jace@gmail.com"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8f1d1cd1d72c4545cb867b") }

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

> db.demo554.find();

จะได้ผลลัพธ์ดังนี้

{ "_id" : ObjectId("5e8f1cfed1d72c4545cb8679"), "UserName" : "John", "UserMailId" : "John@gmail.com" } { "_id" : ObjectId("5e8f1d0cd1d72c4545cb867a"), "UserName" : "Chris", "UserMailId" : "Chris@gmail.com" } { "_id" : ObjectId("5e8f1d1cd1d72c4545cb867b"), "UserName" : "Jace", "UserMailId" : "Jace@gmail.com" }

คำสั่งสำหรับการ implement "like"

> db.demo554.find({ ...    "$or": [ ...       { "UserName": /J/ }, ... ...       { "UserMailId": /J/ } ...    ] ... } ... );

จะได้ผลลัพธ์ดังนี้

{ "_id" : ObjectId("5e8f1cfed1d72c4545cb8679"), "UserName" : "John", "UserMailId" : "John@gmail.com" } { "_id" : ObjectId("5e8f1d1cd1d72c4545cb867b"), "UserName" : "Jace", "UserMailId" : "Jace@gmail.com" }