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

Tìm tất cả các tài liệu có chung (giá trị) tối đa được tìm thấy trong bước tổng hợp

Bạn có thể thực hiện việc này bằng cách nhóm trên num_sold và sau đó sử dụng $sort$limit các giai đoạn đường ống để chỉ nhận tài liệu có giá trị lớn nhất:

db.t.aggregate([
    // Group by num_sold, assembling an array of docs with each distinct value.
    {$group: {
        _id: '$num_sold',
        docs: {$push: '$$ROOT'}
    }},
    // Sort the groups by _id descending to put the max num_sold group first.
    {$sort: {_id: -1}},
    // Return just the first (max num_sold) group of docs.
    {$limit: 1}
])

Đầu ra:

{ 
    "_id" : 55.0, 
    "docs" : [
        {
            "_id" : ObjectId("5726a62879ce3350ff8d607e"), 
            "item" : "Orange", 
            "num_sold" : 55.0
        }, 
        {
            "_id" : ObjectId("5726a62879ce3350ff8d607f"), 
            "item" : "Peach", 
            "num_sold" : 55.0
        }
    ]
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. truy vấn mongo - nhận một đối tượng cụ thể (đã biết `_id` của nó) từ mảng đối tượng NHƯNG mảng này cũng là một phần của danh sách tài liệu

  2. CouchDB hoặc MongoDB nào phù hợp với nhu cầu của tôi?

  3. Có bất kỳ Tương đương nào của NOW () trong MongoDB không

  4. cài đặt mongodb-10gen không thành công với apt-get

  5. Mongo sắp xếp theo trường động