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

Mongodb samler, grupperer og tæller forekomster

Prøv:

db.hourly.aggregate(
[
    { "$project" : { "hourly" : "$hourlyLocations" } },
    { "$unwind" : "$hourly" },
    { $group: { _id: { country: "$hourly.countryName", city: "$hourly.cityName" }, count: { $sum: 1 } } },
    { $sort: { count: -1 } },
    {  $group: { _id: "$_id.country", cities: { $push: { city: "$_id.city", count: "$count"  } }  } }
]
)

Det er ikke helt den ønskede struktur. I stedet får du:

{
    "_id" : {
        "country" : "Italy"
    },
    "cities" : [
        { "city": "Cologno Monzese", "count": 12},
        { "city": "Milan", "count": 6},
        { "city": "Rome", "count": 3},
    ]
}



  1. Mongodb og MAMP

  2. MongoDB sum() data

  3. Hvordan MongoDB Database Automation forbedrer sikkerheden

  4. Tilføj nyt felt til hvert dokument i en MongoDB-samling