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

Získejte procenta pomocí agregátu MongoDB $group

Myslím, že percentage měl by být řetězec, pokud hodnota obsahuje %

Nejprve budete muset count číslo dokumentu.

var nums = db.collection.count();

db.collection.aggregate(
    [
        { "$group": { "_id": {"type":  "$type"}, "count": { "$sum": 1 }}},    
        { "$project": { 
            "count": 1, 
            "percentage": { 
                "$concat": [ { "$substr": [ { "$multiply": [ { "$divide": [ "$count", {"$literal": nums }] }, 100 ] }, 0,2 ] }, "", "%" ]}
            }
        }
    ]
)

Výsledek

{ "_id" : { "type" : "short" }, "count" : 3, "percentage" : "60%" }
{ "_id" : { "type" : "big" }, "count" : 2, "percentage" : "40%" }


  1. Import datového typu pomocí mongoimport

  2. Algoritmus pro párování uživatelů

  3. Jak vytvořím výpis MongoDB své databáze?

  4. Chyba 99 při připojování k localhost:6379. Nelze přiřadit požadovanou adresu