У меня есть json и я использую совокупную трубопроводную линию, как показано ниже
db.chat_question_logs.aggregate([
{
$match: {
createdDate: {
$gte: ISODate("2020-04-22T00:00:00Z"),
$lte: ISODate("2020-04-27T00:00:00Z"),
},
},
},
{
$project: {
_id: 0,
"intentInfo.intentName": 1,
dateField: {
$dateToString: { format: "%Y-%m-%d", date: "$createdDate" },
},
},
},
{
$group: {
_id: {
TransactionDate: "$dateField",
IntentName: "$intentInfo.intentName",
},
count: { $sum: 1 },
},
},
]);
Некоторые выходные данные приведены ниже. Как у меня есть несколько IntentName с соответствующим количеством. Теперь я хочу получить дату, IntentName и подсчитать, где число макс. Как я могу снова использовать групповую функцию.
/* 1 */
({
"_id": {
"TransactionDate": "2020-04-24",
"IntentName": "Bluetooth_Headset"
},
"count": 1
},
/* 2 */
{
"_id": {
"TransactionDate": "2020-04-23",
"IntentName": "OK"
},
"count": 1
},
/* 3 */
{
"_id": {
"TransactionDate": "2020-04-22",
"IntentName": "Spare_Part_Pricing"
},
"count": 7
},
/* 4 */
{
"_id": {
"TransactionDate": "2020-04-23",
"IntentName": "Service Center Location"
},
"count": 2
},
/* 5 */
{
"_id": {
"TransactionDate": "2020-04-22",
"IntentName": "Default Welcome Intent"
},
"count": 6
},
/* 6 */
{
"_id": {
"TransactionDate": "2020-04-22",
"IntentName": "Talk_To_Agent"
},
"count": 5
},
/* 7 */
{
"_id": {
"TransactionDate": "2020-04-24",
"IntentName": "Talk_To_Agent"
},
"count": 2
},
/* 8 */
{
"_id": {
"TransactionDate": "2020-04-24",
"IntentName": "Product_Price"
},
"count": 2
},
/* 9 */
{
"_id": {
"TransactionDate": "2020-04-22",
"IntentName": "Product_Price"
},
"count": 5
})