Hãy xem xét một names
mẫu bộ sưu tập:
{ _id: 1, name: "Jack", favoriteColor: "blue" },
{ _id: 2, name: "James", favoriteColor: "red" },
{ _id: 3, name: "John", favoriteColor: "blue" }
và chạy ba truy vấn sau bằng cách sử dụng findOne
:
db.names.findOne( { _id: 1 } )
db.names.findOne()
db.names.findOne( { favoriteColor : "blue" } )
kết quả là giống nhau cho ba truy vấn:
{ "_id" : 1, "name" : "Jack", "favoriteColor" : "blue" }
Các truy vấn tương đương tương ứng bằng cách sử dụng tổng hợp như sau, với cùng một kết quả:
db.names.aggregate( [
{ $match: { _id: 1 } },
] )
db.names.aggregate( [
{ $limit: 1 }
] )
db.names.aggregate( [
{ $match: { "favoriteColor" : "blue" } },
{ $limit: 1 }
] )
db.collection.findOne định nghĩa nói -
Với findOne
nếu không tìm thấy tài liệu, nó sẽ trả về null
. Nhưng một tập hợp
trả về con trỏ và bạn có thể áp dụng phương thức con trỏ về kết quả.