我有一个简单的汇总mongo db查询,它给了我预期的结果。
db.getCollection('parts-status').aggregate([{ $group: { _id: "$partStatus" ,count:{$sum:1}}}])
结果:
/* 1 */
{
"_id" : "Unauthorized",
"count" : 2.0
}
/* 2 */
{
"_id" : "Authorized",
"count" : 12.0
}
但是我希望我的结果采用这种格式:
{
"Unauthorized": 2.0,
"Authorized": 12.0
}
是否有可能操纵聚合的初始结果以在查询本身中获得所需的结果?
答案 0 :(得分:0)
尝试
db.getCollection('parts-status').aggregate([
{
$group: {
_id: "$partStatus" ,
count:{$sum:1}
}
},
{
$replaceRoot: {
newRoot: {
$arrayToObject: [[{k: "$_id", v: "$count"}]]
}
}
}])