Hi, newbie here, So I have got this data here and I want to populate the user field and aggregrate.
This is the JSON data I have,
[
{
"_id": "63364bd1c141203b1744aca9",
"name": "First",
"desc": "FP",
"date": "Fri Sep 30 2022 07:22:17 GMT+0530 (India Standard Time)",
"timer": "00:00:09",
"start": "Fri Sep 30 2022 07:22:08 GMT+0530 (India Standard Time)",
"user": "6335094bb6c467c3eb7c2534",
"__v": 0,
"id": "63364bd1c141203b1744aca9"
},
{
"_id": "63364bf6c141203b1744acac",
"name": "Second",
"desc": "Second FP",
"date": "Fri Sep 30 2022 07:22:54 GMT+0530 (India Standard Time)",
"timer": "00:00:18",
"start": "Fri Sep 30 2022 07:22:35 GMT+0530 (India Standard Time)",
"user": "6335094bb6c467c3eb7c2534",
"__v": 0,
"id": "63364bf6c141203b1744acac"
},
{
"_id": "63364c1ac141203b1744acb2",
"name": "honnda",
"desc": "honda Project",
"date": "Fri Sep 30 2022 07:23:30 GMT+0530 (India Standard Time)",
"timer": "00:00:10",
"start": "Fri Sep 30 2022 07:23:19 GMT+0530 (India Standard Time)",
"user": "633509deb6c467c3eb7c253c",
"__v": 0,
"id": "63364c1ac141203b1744acb2"
},
{
"_id": "63365d1ffb94d401b4bf993a",
"name": "Next Task",
"desc": "New task",
"date": "Fri Sep 30 2022 08:36:07 GMT+0530 (India Standard Time)",
"timer": "00:00:07",
"start": "Fri Sep 30 2022 08:36:00 GMT+0530 (India Standard Time)",
"user": "6335094bb6c467c3eb7c2534",
"__v": 0,
"id": "63365d1ffb94d401b4bf993a"
},
]
I would like to populate the user filed and perform aggregration like
[
{
_id: "63364bd1c141203b1744aca9",
name: "First",
desc: "FP",
date: "Fri Sep 30 2022 07:22:17 GMT+0530 (India Standard Time)",
timer: "00:00:09",
start: "Fri Sep 30 2022 07:22:08 GMT+0530 (India Standard Time)",
user: [
{
_id: "6335094bb6c467c3eb7c2534",
name: "sam",
email: "anymail@gmail.com",
passwordHash:
"$2a$10$NjeQ0wn6sSkzTGwbFyxb2exA1XfoGvEQuQ7ZnkD2MVYR1tyOfC0ja",
isAdmin: true,
__v: 0,
},
],
__v: 0,
},
{
_id: "63364bf6c141203b1744acac",
name: "Second",
desc: "Second FP",
date: "Fri Sep 30 2022 07:22:54 GMT+0530 (India Standard Time)",
timer: "00:00:18",
start: "Fri Sep 30 2022 07:22:35 GMT+0530 (India Standard Time)",
user: [
{
_id: "6335094bb6c467c3eb7c2534",
name: "sam",
email: "anymail@gmail.com",
passwordHash:
"$2a$10$NjeQ0wn6sSkzTGwbFyxb2exA1XfoGvEQuQ7ZnkD2MVYR1tyOfC0ja",
isAdmin: true,
__v: 0,
},
],
__v: 0,
},
{
_id: "63364c1ac141203b1744acb2",
name: "honnda",
desc: "honda Project",
date: "Fri Sep 30 2022 07:23:30 GMT+0530 (India Standard Time)",
timer: "00:00:10",
start: "Fri Sep 30 2022 07:23:19 GMT+0530 (India Standard Time)",
user: [
{
_id: "633509deb6c467c3eb7c253c",
name: "VJsam",
email: "honda@gmail.com",
passwordHash:
"$2a$10$.GYqYFho5bJzRrcx90CzJe..GAN86VSfJc.WT19.qeHFugCtYSwyG",
isAdmin: false,
__v: 0,
},
],
__v: 0,
},
{
_id: "63365d1ffb94d401b4bf993a",
name: "Next Task",
desc: "New task",
date: "Fri Sep 30 2022 08:36:07 GMT+0530 (India Standard Time)",
timer: "00:00:07",
start: "Fri Sep 30 2022 08:36:00 GMT+0530 (India Standard Time)",
user: [
{
_id: "6335094bb6c467c3eb7c2534",
name: "sam",
email: "anymail@gmail.com",
passwordHash:
"$2a$10$NjeQ0wn6sSkzTGwbFyxb2exA1XfoGvEQuQ7ZnkD2MVYR1tyOfC0ja",
isAdmin: true,
__v: 0,
},
],
__v: 0,
},
];
I would then like to aggregrate this like,
[{ name: VJsam ,email: honnda@gmail.com, totalTasks: 1, totaltime: sum of timer (to mins, like 120mins)},
{ name: sam ,email: anymail@gmail.com, totalTasks: 3, totaltime: sum of timer (to mins, like 120mins)}]