Fix config formatting
[gitter.git] / scripts / useful-queries / chats-across-community.js
blobf636db4f27e0f5f0d024e2a76753cdbc01ec6187
1 var horizon = new Date(Date.now() - 86400000 * 90);
2 function objectIdFromDate(date) {
3   return Math.floor(date.getTime() / 1000).toString(16) + '0000000000000000';
6 var firstId = ObjectId(objectIdFromDate(horizon));
8 var result = db.chatmessages.aggregate([
9   {
10     $match: {
11       _id: { $gt: firstId }
12     }
13   },
14   {
15     $group: {
16       _id: '$toTroupeId',
17       chatCount: { $sum: 1 }
18     }
19   },
20   {
21     $lookup: {
22       from: 'troupes',
23       localField: '_id',
24       foreignField: '_id',
25       as: 'troupe'
26     }
27   },
28   {
29     $unwind: '$troupe'
30   },
31   {
32     $project: {
33       _id: 0,
34       lcOwner: {
35         $cond: {
36           if: { $eq: ['$troupe.githubType', 'ORG'] },
37           then: '$troupe.lcUri',
38           else: '$troupe.lcOwner'
39         }
40       },
41       chatCount: 1
42     }
43   },
44   {
45     $group: {
46       _id: '$lcOwner',
47       chatCount: { $sum: '$chatCount' }
48     }
49   },
50   {
51     $sort: {
52       chatCount: -1
53     }
54   },
55   {
56     $limit: 100
57   }
58 ]);
59 result.forEach(function(x) {
60   print(x._id + '\t' + x.chatCount);
61 });