การค้นหาผู้ใช้ตามชื่อใน MongoDB ทำได้ง่ายด้วยเมธอด find() มาดูตัวอย่าง
> db.demo504.insertOne({"Name": "Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8823ee987b6e0e9d18f570") }
> db.demo504.insertOne({"Name": "John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8823f2987b6e0e9d18f571") }
> db.demo504.insertOne({"Name": "David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8823f5987b6e0e9d18f572") }
แสดงข้อมูลทั้งหมด:
> db.demo504.find();
{ "_id" : ObjectId("5e8823ee987b6e0e9d18f570"), "Name" : "Chris" }
{ "_id" : ObjectId("5e8823f2987b6e0e9d18f571"), "Name" : "John" }
{ "_id" : ObjectId("5e8823f5987b6e0e9d18f572"), "Name" : "David" }
คิวรีค้นหาชื่อ "John"
> db.demo504.find({Name: "John"});
ผลลัพธ์:
{ "_id" : ObjectId("5e8823f2987b6e0e9d18f571"), "Name" : "John" }
เคล็ดลับเพิ่มเติม
- ใช้
findOne()ถ้าต้องการแค่เอกสารแรกที่เจอ (ประหยัดทรัพยากร) - ค้นหาแบบไม่สนใจตัวพิมพ์เล็ก/ใหญ่:
{Name: {$regex: /^john$/i}} - ค้นหาหลายชื่อ:
{Name: {$in: ["John", "David"]}}
นี่คือพื้นฐานการค้นหาข้อมูลใน MongoDB ที่สำคัญที่สุด