sql >> Databáze >  >> NoSQL >> MongoDB

Jak mohu získat nejnižší hodnoty v kolekci MongoDB?

Musíte $group vaše dokumenty podle "ceny". Odtud $sort je podle "_id" ve vzestupném pořadí a použijte $limit vrátit první dokument, který není ničím jiným než dokumentem s minimální hodnotou.

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

což vytváří něco jako:

{
    "_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. Získejte a přidejte/aktualizujte víceúrovňový vložený/vnořený dokument MongoDB pomocí C#

  2. provádět matematiku ve vyhledávacích dotazech mongodb

  3. mongoose .save() nefunguje

  4. MongoDB Nelze najít záznam zadáním ts.t (ts je typ časového razítka)