set_rich_text_beta_users.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. const fs = require('fs')
  2. const mongojs = require('../../app/js/infrastructure/mongojs')
  3. const { db, ObjectId } = mongojs
  4. const async = require('async')
  5. console.log('Finding users for ids specified')
  6. const text = fs.readFileSync(__dirname + '/beta-users.txt')
  7. const textByLine = text
  8. .toString()
  9. .split('\n')
  10. .map(function(stringId) {
  11. return ObjectId(stringId)
  12. })
  13. db.users.find({ _id: { $in: textByLine } }, function(err, users) {
  14. if (err) throw err
  15. if (users.length) {
  16. console.log('Found ' + users.length + ' users')
  17. async.each(
  18. users,
  19. function(user, callback) {
  20. console.log('setting betaProgram==true for: ' + user._id)
  21. db.users.update(
  22. {
  23. _id: user._id
  24. },
  25. {
  26. $set: {
  27. betaProgram: true
  28. }
  29. },
  30. callback
  31. )
  32. },
  33. function(result, err) {
  34. if (err) {
  35. console.log(err)
  36. }
  37. process.exit(0)
  38. }
  39. )
  40. } else {
  41. console.log('No users found matching those ids')
  42. process.exit(0)
  43. }
  44. })