MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak uzyskać najniższe wartości w kolekcji MongoDB?

Musisz $group Twoje dokumenty według „ceny”. Stamtąd możesz $sort je przez "_id" w kolejności rosnącej i użyj $limit aby zwrócić pierwszy dokument, który nie jest niczym innym niż dokumentem o minimalnej wartości.

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

co daje coś takiego:

{
    "_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. MongDB nie może znaleźć definicji typu Promise

  2. findOne działa, ale nie pobierz wszystkiego/znajdź

  3. Schemat Mongoose ustawia sygnaturę czasową w zagnieżdżonym dokumencie

  4. Nie można nadpisać modelu po skompilowaniu Mongoose

  5. Struktura agregacji mongodb — pobierz pole pierwszego dokumentu z zagnieżdżonej tablicy