Fix config formatting
[gitter.git] / scripts / useful-queries / tag-activity-2.mongo
blobc2159323cabdcc31f7ff62d9e1df91804f09fbe9
1 'use strict';
2 load('./csv.js');
3 rs.slaveOk();
5 var horizonTimestamp = Date.now() - 86400000 * 1;
7 var x = db.chatmessages.aggregate({
8   $match: {
9     _id: { $gt: createIdForTimestampString(horizonTimestamp) },
10     sent: { $type: 'date' }
11   }
12 }, {
13   $group: {
14     _id: '$toTroupeId',
15     users: { $addToSet: '$fromUserId' },
16     chats: { $addToSet: '$_id' }
17   }
18 }, {
19   $lookup: {
20     from: "troupes",
21     localField: "_id",
22     foreignField: "_id",
23     as: "troupe"
24   }
25 }, {
26   $unwind: '$troupe'
27 // }, {
28 //   $project: {
29 //     _id: 1,
30 //     chats: 1,
31 //     users: 1,
32 //     tags: '$troupe.tags'
33 //   }
34 }, {
35   $unwind: '$troupe.tags'
36 // }, {
37 //   $project: {
38 //     _id: 1,
39 //     chats: 1,
40 //     users: 1,
41 //     tags: '$troupe.tags'
42 //   }
43 }, {
44   $lookup: {
45     from: "tagsynonyms",
46     localField: "troupe.tags",
47     foreignField: "synonyms",
48     as: "tagsynonyms"
49   }
50 }, {
51   $unwind: '$tagsynonyms'
52 }, {
53   $group: {
54     _id: '$tagsynonyms.name',
55     rooms: { $addToSet: '$_id' },
56     chats: { $push: '$chats' },
57     users: { $push: '$users' }
58     // x: { $first: '$$CURRENT' }
59   }
60 });
61 printjson(x.toArray());
62 // printCSV(x, ['_id', 'chats', 'rooms', 'users']);