@@ -13,6 +13,9 @@ const ProjectModel = require('../models/project').default;
1313const EVENTS_GROUP_HASH_INDEX_NAME = 'groupHashUnique' ;
1414const REPETITIONS_GROUP_HASH_INDEX_NAME = 'groupHash_hashed' ;
1515const REPETITIONS_USER_ID_INDEX_NAME = 'userId' ;
16+ const EVENTS_TIMESTAMP_INDEX_NAME = 'timestamp' ;
17+ const GROUPING_TIMESTAMP_INDEX_NAME = 'groupingTimestamp' ;
18+ const GROUPING_TIMESTAMP_AND_GROUP_HASH_INDEX_NAME = 'groupingTimestampAndGroupHash' ;
1619const MAX_SEARCH_QUERY_LENGTH = 50 ;
1720
1821/**
@@ -100,7 +103,20 @@ module.exports = {
100103
101104 const projectRepetitionsEventsCollection = await mongo . databases . events . createCollection ( 'repetitions:' + project . _id ) ;
102105
103- await mongo . databases . events . createCollection ( 'dailyEvents:' + project . _id ) ;
106+ const projectDailyEventsCollection = await mongo . databases . events . createCollection ( 'dailyEvents:' + project . _id ) ;
107+
108+ await projectDailyEventsCollection . createIndex ( {
109+ groupingTimestamp : 1 ,
110+ } , {
111+ name : GROUPING_TIMESTAMP_INDEX_NAME ,
112+ } ) ;
113+
114+ await projectDailyEventsCollection . createIndex ( {
115+ groupingTimestamp : 1 ,
116+ groupHash : 1 ,
117+ } , {
118+ name : GROUPING_TIMESTAMP_AND_GROUP_HASH_INDEX_NAME ,
119+ } ) ;
104120
105121 await projectEventsCollection . createIndex ( {
106122 groupHash : 1 ,
@@ -124,6 +140,13 @@ module.exports = {
124140 sparse : true ,
125141 } ) ;
126142
143+ await projectEventsCollection . createIndex ( {
144+ timestamp : 1 ,
145+ } , {
146+ name : EVENTS_TIMESTAMP_INDEX_NAME ,
147+ sparse : true ,
148+ } ) ;
149+
127150 telegram . sendMessage ( `🤯 Project ${ name } was created` ) ;
128151
129152 return project ;
0 commit comments