sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan kan jeg få de laveste værdier i en MongoDB-samling?

Du skal $group dine dokumenter efter "pris". Derfra kan du $sort dem efter "_id" i stigende rækkefølge og brug $limit at returnere det første dokument, som intet andet end dokumentet med minimumsværdien.

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

som producerer noget som:

{
    "_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. Hierarkiske forespørgsler med Mongo ved hjælp af $graphLookup

  2. Automatiser tjek af databasekonfiguration

  3. Mongo Map Reducer første gang

  4. Sådan starter du mongodb fra dockerfile