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

Nhận tài liệu cuối cùng với một tiêu chí riêng biệt

Bạn có thể sử dụng khung tổng hợp để đạt được điều này:

 db.collection.aggregate(
          [
             {$match:
                  {action:'entry'}
             },
             {$group:
                  {_id:'$name',
                   first:
                         {$max:'$timestamp'}
                  }
             }
          ])

Nếu bạn có khả năng bao gồm các trường khác trong kết quả, bạn có thể sử dụng $ first nhà điều hành

 db.collection.aggregate(
          [
             {$match:
                  {action:'entry'}
             },
             {$sort:
                  {name:1, timestamp:-1}
             },
             {$group:
                  {_id:'$name',
                   timestamp: {$first:'$timestamp'},
                   otherField: {$first:'$otherField'},
                  }
             }
          ])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cơ sở dữ liệu Mongo lưu dữ liệu từ Bản đồ

  2. Đếm các trường trong Bộ sưu tập MongoDB

  3. Làm cách nào để có được N bản ghi mới nhất của mỗi nhóm trong mongodb?

  4. Cập nhật một mảng trong MongoDB bằng trình điều khiển Java

  5. Nodejs UUIDv4 tạo ra giá trị id không đổi khi được sử dụng trong Mongoose