sql >> Database >  >> NoSQL >> MongoDB

Hoe krijg ik de laagste waarden in een MongoDB-verzameling?

U moet $group uw documenten op "prijs". Vanaf daar $sort ze door "_id" in oplopende volgorde en gebruik $limit om het eerste document terug te geven dat niets anders is dan het document met de minimale waarde.

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

wat zoiets oplevert als:

{
    "_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. Verwijzen naar het hele document in MongoDB Aggregation Pipeline

  2. Hoe plaats ik een binair bestand in mongodb met behulp van javascript?

  3. Wat zou singleton moeten zijn in één applicatie? MongoClient of MongoDatabase of MongoCollection?

  4. MongoDB:Controleren of geneste array een subarray bevat