Trước hết, sự khác biệt cơ bản giữa findOne()
và find()
:
-
findOne()
- nếu truy vấn phù hợp, tài liệu đầu tiên sẽ được trả về, nếu không thì là giá trị rỗng. -
find()
- bất kể số lượng tài liệu được so khớp, con trỏ sẽ được trả về, không bao giờ rỗng.
Vì vậy, khi đặt trong điều kiện if, findOne()
có thể chuyển đổi thành false khi nó không khớp với bất kỳ tài liệu nào. Dưới dạng find()
trả về một đối tượng con trỏ và không bao giờ trả về null, sẽ chuyển đổi thành true khi được đặt trong điều kiện if.
find
và findOne()
trả lại phần sau cho bộ sưu tập trống: