UserGetter.coffee 713 B

1234567891011121314151617181920212223242526
  1. mongojs = require("../../infrastructure/mongojs")
  2. db = mongojs.db
  3. ObjectId = mongojs.ObjectId
  4. module.exports = UserGetter =
  5. getUser: (query, projection, callback = (error, user) ->) ->
  6. if arguments.length == 2
  7. callback = projection
  8. projection = {}
  9. if typeof query == "string"
  10. try
  11. query = _id: ObjectId(query)
  12. catch e
  13. return callback(null, null)
  14. else if query instanceof ObjectId
  15. query = _id: query
  16. db.users.findOne query, projection, callback
  17. getUsers: (user_ids, projection, callback = (error, users) ->) ->
  18. try
  19. user_ids = user_ids.map (u) -> ObjectId(u.toString())
  20. catch error
  21. return callback error
  22. db.users.find { _id: { $in: user_ids} }, projection, callback