Phương thức findOne() trả về **một** tài liệu thỏa mãn điều kiện truy vấn. Kết hợp với $regex để tìm kiếm mẫu. Tạo collection:
> 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") }
Hiển thị dữ liệu:
> db.demo655.find();
Kết quả:
Tìm **một** tài liệu có subject chứa chữ "M" (regex /M/):
> db.demo655.findOne({subject:{$regex:/M/}});Kết quả trả về tài liệu đầu tiên khớp (MySQL):
Lưu ý:
findOne()trả về tài liệu đầu tiên theo thứ tự tự nhiên (thường là thứ tự insert). Nếu cần kết quả xác định, hãy thêm.sort():db.demo655.findOne({subject:{$regex:/M/}}).sort({_id: 1})So sánh:
find()- trả về cursor, có thể iterate tất cả kết quảfindOne()- trả về 1 document hoặc null, hiệu quả hơn khi chỉ cần 1 kết quả
Regex options: Dùng object syntax để thêm options: { $regex: /pattern/, $options: "i" } (case-insensitive).