У меня есть две коллекции, которые выглядят следующим образом
Ticket_master
{
"_id" : ObjectId("5e70ed53de0f7507d4da8dc2"),
"TICKET_NO" : 1000,
"DESCRIPTION" : "<p>dsdsd</p>",
"ASSIGNED_TO" : ObjectId("5e78f2b2c0e09128e81db475"),
"RESOLVED_BY" : ObjectId("5e6f1c5b8451307f782d0992")
}
/* 2 */
{
"_id" : ObjectId("5e70f19c47df9479502f7933"),
"TICKET_NO" : 1001,
"DESCRIPTION" : "<p>vcvcv</p>",
"ASSIGNED_TO" : ObjectId("5e706e914587054254c02085"),
"RESOLVED_BY" : ObjectId("5e6f1c5b8451307f782d0992")
}
/* 3 */
{
"_id" : ObjectId("5e70f4fa47df9479502f7937"),
"TICKET_NO" : 1002,
"DESCRIPTION" : "<p>xcxc</p>",
"ASSIGNED_TO" : ObjectId("5e706e914587054254c02085"),
"RESOLVED_BY" : ObjectId("5e706e914587054254c02085")
}
Agent_master
{
"_id" : ObjectId("5e6f1c5b8451307f782d0992"),
"NAME" : "A1",
}
/* 2 */
{
"_id" : ObjectId("5e706e914587054254c02085"),
"NAME" : "A2",
}
/* 3 */
{
"_id" : ObjectId("5e78f2b2c0e09128e81db475"),
"NAME" : "A3",
}
Мне нужно выполнить различные операции с базой данных, такие как группировка и подсчет для получения ожидаемого результата, который указан ниже
Ожидаемый результат:
[
{
NAME : 'A1',
COUNT:2,
},
{
NAME : 'A2',
COUNT:1,
},
{
NAME : 'A3',
COUNT:0,
}
]
Я хочу найти количество заявок, разрешенных каждым агентом с указанием имени агента. RESOLVED_BY
относится к идентификатору агента, который разрешил заявку.
Надеюсь, вы понимаете, о чем я! Спасибо
Попробовал следующий запрос:
db.getCollection('ticket_masters').aggregate([
{"$group" : {_id:"$RESOLVED_BY", count:{$sum:1}}}
])
Фактический результат:
/* 1 */
{
"_id" : ObjectId("5e78f2ddc0e09128e81db47a"),
"count" : 1.0
}
/* 2 */
{
"_id" : ObjectId("5e6f1c5b8451307f782d0992"),
"count" : 4.0
}
/* 3 */
{
"_id" : null,
"count" : 6.0
}