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

Làm cách nào để nhận các giá trị thấp nhất trong bộ sưu tập MongoDB?

Bạn cần $group tài liệu của bạn theo "giá". Từ đó, bạn $sort chúng theo "_id" theo thứ tự tăng dần và sử dụng $limit để trả về tài liệu đầu tiên không có gì khác ngoài tài liệu có giá trị nhỏ nhất.

db.products.aggregate([ 
    { "$group": { 
        "_id": "$price", 
        "docs": { "$push": "$$ROOT" } 
    }},
    { "$sort": { "_id": 1 } }, 
    { "$limit": 1 } 
])

tạo ra một cái gì đó như:

{
    "_id" : 100,
    "docs" : [
        {
            "_id" : ObjectId("574a161b17569e552e35edb5"),
            "product" : "Milk",
            "barcode" : 12345,
            "price" : 100,
            "store" : "BestBuy"
        },
        {
            "_id" : ObjectId("574a161b17569e552e35edb6"),
            "product" : "Milk",
            "barcode" : 12345,
            "price" : 100,
            "store" : "WalMart"
        }
    ]
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Vấn đề về hiệu suất MongoDB:Bộ sưu tập Lớn duy nhất so với Nhiều Bộ sưu tập nhỏ

  2. MongoDB count () so với countDocuments ()

  3. Truy vấn Mongoid theo giá trị hoặc giá trị mặc định

  4. Tại sao tôi không thể cập nhật MongoDB mới nhất với Homebrew?

  5. Cách trả lại dữ liệu từ MongoDB