Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Lấy một tài liệu đơn lẻ theo điều kiện trong MongoDB (findOne)

Phương thức findOne() trả về một tài liệu đầu tiên thỏa mãn điều kiện (khác với find() trả cursor). Tạo collection:

> db.demo596.insertOne({_id:1,"FirstName":"John","LastName":"Smith"});
{ "acknowledged" : true, "insertedId" : 1 }
> db.demo596.insertOne({_id:2,"FirstName":"John","LastName":"Doe"});
{ "acknowledged" : true, "insertedId" : 2 }
> db.demo596.insertOne({_id:3,"FirstName":"Chris","LastName":"Brown"});
{ "acknowledged" : true, "insertedId" : 3 }
> db.demo596.insertOne({_id:4,"FirstName":"David","LastName":"Miller"});
{ "acknowledged" : true, "insertedId" : 4 }

Hiển thị tất cả (4 tài liệu FirstName="John" có 2):

> db.demo596.find();

Truy vấn findOne FirstName="John" (trả về tài liệu đầu tiên theo thứ tự tự nhiên):

> db.demo596.findOne({"FirstName":"John"});

Kết quả (chỉ 1 tài liệu):


Đặc điểm findOne:

  • Trả về object (document) thay vì cursor
  • Dừng ngay khi tìm thấy 1 match (hiệu quả hơn find().limit(1))
  • Thường dùng kiểm tra tồn tại, lấy config, profile user
  • Kết hợp sort() để kiểm soát tài liệu nào được trả: findOne({query}).sort({field: -1})