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

Sử dụng findOne trong mongodb để lấy phần tử có id tối đa

Bạn nên sử dụng find , giống như bạn đã làm, và không tổng hợp sẽ chậm hơn vì nó cần quét tất cả giá trị của các trường _id để tìm ra giá trị tối đa.

Như các nhận xét đã chỉ ra rằng có không sự khác biệt giữa việc sử dụng find () và findOne () - về mặt chức năng hoặc về mặt thanh lịch. Trên thực tế, findOne trong shell (và trong các trình điều khiển triển khai nó) được xác định theo nghĩa tìm kiếm (với giới hạn -1 và với chữ in đẹp trong shell).

Nếu bạn thực sự muốn làm tương đương với

db.collection.find().sort({_id:-1}).limit(1).pretty()

dưới dạng findOne bạn có thể làm điều đó với cú pháp sau:

db.collection.findOne({$query:{},$orderby:{_id:-1}})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose luôn trả về một mảng trống NodeJS

  2. mgo - hiệu suất truy vấn dường như luôn chậm (500-650ms)

  3. Kiến thức cơ bản về triển khai bộ bản sao MongoDB và các đoạn bằng con rối

  4. Làm cách nào để kiểm tra xem một chỉ mục có đang được sử dụng hay không

  5. Nhận vị trí của tài liệu đã chọn trong bộ sưu tập [mongoDB]