MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как мога да получа най-ниските стойности в колекция MongoDB?

Трябва да $group вашите документи по "цена". Оттам вие $sort ги чрез "_id" във възходящ ред и използвайте $limit за да върне първия документ, който не е нищо друго освен документа с минималната стойност.

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

което произвежда нещо като:

{
    "_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. MongoDB:вмъкнете документи със специфичен идентификатор вместо автоматично генериран ObjectID

  2. Как мога да създам $or заявка за MongoDB с помощта на Java драйвера?

  3. Как да върнете данни от MongoDB

  4. MongoDB, Java, сортиране по първи запис в масив

  5. MongoDB Regex Търсене на целочислена стойност