Node.js 猫鼬亚群
我正在尝试使用nodejs和mongoose从查询中获取子GROUP。 我想做的事情如下: 我有这个收藏: 我需要对所有具有相同“意图”的文档进行计数和分组,并使用“实体”值创建一个子组,到目前为止,我运行了以下命令: 试一试{ 结果如下所示: } 我需要这样的结果: } 我希望澄清,请让我知道,如果你知道如何使用猫鼬做到这一点。Node.js 猫鼬亚群,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我正在尝试使用nodejs和mongoose从查询中获取子GROUP。 我想做的事情如下: 我有这个收藏: 我需要对所有具有相同“意图”的文档进行计数和分组,并使用“实体”值创建一个子组,到目前为止,我运行了以下命令: 试一试{ 结果如下所示: } 我需要这样的结果: } 我希望澄清,请让我知道,如果你知道如何使用猫鼬做到这一点。 提前感谢。尝试将第二个查询更改为以下查询 let results = await Interaction.aggregate([ { $match: { d
提前感谢。尝试将第二个查询更改为以下查询
let results = await Interaction.aggregate([
{ $match: { dateAdded: { $gte: todayStart, $lt: todayEnd }, workspace: workspaceID } },
{ $group: { _id: '$intent', entities: {$push: "$entity"}, data: { $sum: 1 } } },
{ $sort: { _id: 1 } }
]).exec()
如果需要唯一的实体列表,可以使用$addToSet而不是$push
{
"total": [
{
"_id": "Business",
"data": 23
}
],
"result": [
{
"_id": "N/A",
"data": 2
},
{
"_id": "PRODUCTO_BENEFICIOS",
"data": 3
},
{
"_id": "PRODUCTO_DESCRIPCION",
"data": 10
},
{
"_id": "REPORTE_TARJETA_PERDIDA",
"data": 1
},
{
"_id": "REQUISITOS",
"data": 7
}
]
{
"total": [
{
"_id": "Business",
"data": 23
}
],
"result": [
{
"_id": "N/A",
"data": 2
},
{
"_id": "PRODUCTO_BENEFICIOS",
"entities: [{"TARJETAS","PROMOCIONES"."ETC..."}],
"data": 3
},
{
"_id": "PRODUCTO_DESCRIPCION",
"entities: [{"TARJETAS","PROMOCIONES"."ETC..."}],
"data": 10
},
{
"_id": "REPORTE_TARJETA_PERDIDA",
"entities: [{"TARJETAS","PROMOCIONES"."ETC..."}],
"data": 1
},
{
"_id": "REQUISITOS",
"entities: [{"TARJETAS","PROMOCIONES"."ETC..."}],
"data": 7
}
]
let results = await Interaction.aggregate([
{ $match: { dateAdded: { $gte: todayStart, $lt: todayEnd }, workspace: workspaceID } },
{ $group: { _id: '$intent', entities: {$push: "$entity"}, data: { $sum: 1 } } },
{ $sort: { _id: 1 } }
]).exec()