MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tương đương với findOne sử dụng .aggregate trong Mongodb là gì?

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ả.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mảng trống ngăn tài liệu xuất hiện trong truy vấn

  2. Làm cách nào để trích xuất dấu thời gian từ MongoDB ObjectId trong Spring Data MongoDB?

  3. Trình điều khiển Mongo C #:Hủy số hóa BsonValue

  4. Rails Mongoid không thể xác thực - không thành công với lỗi 13:không được phép truy vấn trên my_db.my_collection

  5. Mongodb không thể khởi động