寻址计算密钥以使用条件($ gt)

时间:2016-08-09 23:54:15

标签: mongodb mongodb-query

我试图使用mongodb管道来获得电站超过100的所有状态" EV Level2 EVSE Num"并列出Level2充电器的状态缩写和计数。

一份文件包含一个电站,每个州都有许多文件,而且收集存储了美国每个州的电台。

我已尝试对$ _id.totlv2和$ totlv2进行操作,但我对此感到失望,并且无法理解文档,以便在管道中充分利用$ gt。如何过滤少于100的状态" EV Level2 EVSE Num"?

查询:

        db.altfuel.aggregate(
        {$match:{"Groups With Access Code": "Public"}},
        {$group:{ _id: "$State", totl2:{$sum: "$EV Level2 EVSE Num"}},
        {$sort:{"totl2":-1}}})

关联文档密钥:

{
    "_id" : ObjectId("57aa01d7f551936b0cbe9d56"),
    "State" : "UT",
    "Plus4" : "",
    "Groups With Access Code" : "Public",
    "EV Level1 EVSE Num" : "",
    "EV Level2 EVSE Num" : 4,
    "EV DC Fast Count" : "",
}

1 个答案:

答案 0 :(得分:0)

你可以在小组赛阶段之后再做一场$ match,你的聚合将如下所示:

db.altfuel.aggregate(
    {$match:{"Groups With Access Code": "Public"}},
    {$group:{ _id: "$State", totl2:{$sum: "$EV Level2 EVSE Num"}}},
    {$match: {"totl2": {$gte: 100}}},
    {$sort:{"totl2":-1}})

你似乎也错放了一些花括号,我在答案中包含了正确的方法。