From 496cd290d32b56aee00a6aecd3cafad2066d8fd0 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Thu, 19 Nov 2020 15:38:27 -0300 Subject: [PATCH] [FIX] Engagement dashboard on old Mongo versions (#19616) --- app/models/server/raw/Messages.js | 2 +- app/models/server/raw/Users.js | 4 +--- ee/app/engagement-dashboard/server/lib/messages.js | 5 ++++- ee/app/engagement-dashboard/server/lib/users.js | 5 ++++- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/models/server/raw/Messages.js b/app/models/server/raw/Messages.js index ad09996f7f4..6590214ef59 100644 --- a/app/models/server/raw/Messages.js +++ b/app/models/server/raw/Messages.js @@ -166,7 +166,7 @@ export class MessagesRaw extends BaseRaw { { $project: { _id: 0, - date: { $toInt: '$_id.date' }, + date: '$_id.date', room: { _id: '$_id._id', name: '$_id.name', diff --git a/app/models/server/raw/Users.js b/app/models/server/raw/Users.js index 9d293bb7348..24891a38363 100644 --- a/app/models/server/raw/Users.js +++ b/app/models/server/raw/Users.js @@ -367,9 +367,7 @@ export class UsersRaw extends BaseRaw { }, { $group: { - _id: { - $toInt: '$_id', - }, + _id: '$_id', users: { $sum: '$users' }, }, }, diff --git a/ee/app/engagement-dashboard/server/lib/messages.js b/ee/app/engagement-dashboard/server/lib/messages.js index 7c6bc3fa45a..e49443dc582 100644 --- a/ee/app/engagement-dashboard/server/lib/messages.js +++ b/ee/app/engagement-dashboard/server/lib/messages.js @@ -41,7 +41,10 @@ export const fillFirstDaysOfMessagesIfNeeded = async (date) => { start: startOfPeriod, end: date, }); - messages.forEach((message) => Analytics.insert(message)); + messages.forEach((message) => Analytics.insert({ + ...message, + date: parseInt(message.date), + })); } }; diff --git a/ee/app/engagement-dashboard/server/lib/users.js b/ee/app/engagement-dashboard/server/lib/users.js index 3122fd56b3c..0cade2ea6ed 100644 --- a/ee/app/engagement-dashboard/server/lib/users.js +++ b/ee/app/engagement-dashboard/server/lib/users.js @@ -29,7 +29,10 @@ export const fillFirstDaysOfUsersIfNeeded = async (date) => { start: startOfPeriod, end: date, }); - users.forEach((user) => Analytics.insert(user)); + users.forEach((user) => Analytics.insert({ + ...user, + date: parseInt(user.date), + })); } };