เมธอด findOne() คืนค่าเอกสารเดียวที่ตรงเงื่อนไข ใช้ร่วมกับ $regex สำหรับ pattern matching
> db.demo655.insertOne({subject: "MySQL"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea050254deddd72997713cc") }
> db.demo655.insertOne({subject: "MongoDB"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea0502b4deddd72997713cd") }
> db.demo655.insertOne({subject: "Java"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea050314deddd72997713ce") }
แสดงข้อมูล:
> db.demo655.find();
คิวรี findOne ด้วย Regex หาตัวอักษร "M"
> db.demo655.findOne({subject: {$regex: /M/}});ผลลัพธ์ - ได้ MySQL (รายการแรกที่ match):
ความแตกต่าง find() vs findOne()
| เมธอด | คืนค่า | ใช้เมื่อไหร่ |
|---|---|---|
find() | Cursor (ทุกเอกสารที่ match) | ต้องการหลายรายการ, ต้อง iterate |
findOne() | Document เดียว (หรือ null) | ต้องการแค่ 1 รายการ, check exists |