overleaf/services/web/scripts/wfh_2020/wfh_2020_export.js
Jakob Ackermann 018a44eeb5 Merge pull request #3185 from overleaf/jpa-normalize-mongo-imports
[misc] normalize mongo imports

GitOrigin-RevId: ac653d9982e0d36736b90f4c03d4c00be88ea76a
2020-09-25 02:04:20 +00:00

53 lines
1.3 KiB
JavaScript

const { db } = require('../../app/src/infrastructure/mongojs')
const async = require('async')
db.deletedSubscriptions.aggregate(
{ $match: { 'subscription.teamName': /(Work From Home|Work from Home)/ } },
{ $unwind: '$subscription.member_ids' },
{
$group: { _id: null, memberIds: { $addToSet: '$subscription.member_ids' } }
},
function(err, results) {
if (err) {
console.error(err)
process.exit(1)
}
if (!results.length) {
console.error('No users found')
process.exit(1)
}
const userIds = results[0].memberIds
console.log('Id,First Name,Last Name,Sign Up Date,Emails')
async.eachLimit(
userIds,
10,
function(userId, callback) {
db.users.findOne(userId, function(err, user) {
if (user) {
const emails = user.emails.map(email => email.email)
console.log(
`${user._id},${user.first_name || ''},${user.last_name || ''},${
user.signUpDate
},${emails.join(',')}`
)
} else {
console.error('A group user was not found')
}
callback(err)
})
},
function(err) {
if (err) {
console.error(err)
process.exit(1)
}
process.exit(0)
}
)
}
)