【发布时间】:2018-09-05 03:24:19
【问题描述】:
我是 MongoDb 的新手,希望能在此查询方面提供一些帮助。我写了以下聚合管道
db.collection1.aggregate([
{ "$match": { "type" : "L" }},
{ "$facet": {
"ON": [
{ "$match" : {"lampStatus":'ON'}},
{ "$count": "ON" }
],
"OFF": [
{ "$match" : {"lampStatus": 'OFF'}},
{ "$count": "OFF" }
]
} },
{ "$project": {
"ON": { "$ifNull": [{ "$arrayElemAt": ["$ON.ON", 0] }, 0 ] },
"OFF": { "$ifNull": [{ "$arrayElemAt": ["$OFF.OFF", 0] }, 0 ] },
} }
])
得到了这种类型的输出
{
"ON" : 0.0,
"OFF": 30
}
但是如何得到这种json格式的输出
/* 1 */
{
"_id": "ON",
"count" : 0.0
}
/* 2 */
{
"_id": "OFF",
"count" : 30.0
}
有没有人推荐一下?
实际输出
{
"ON" : 0.0,
"OFF" : 30
}
预期输出:
{
"_id" : "ON",
"COUNT" : 0.0
}
/* 2 */
{
"_id" : "OFF",
"COUNT" : 30.0
}
【问题讨论】:
标签: node.js mongodb mongoose mongodb-query aggregation-framework