title: Finding a meteor user on the server
body: <p>The following server method is throwing duplicate key errors because the users are not being found. A typical query is: {services: {facebook: {id: 'XXXX'}}}</p>
  
  <pre><code>Meteor.methods
    getUser: (query, data = {}) -&gt;
      user = Meteor.users.findOne(query)
      return user if user?
      user = _.extend(data, query)
      user._id = Meteor.users.insert user
      return user
  </code></pre>
  
  <p>It is my understanding that server methods have access to all documents in collections so why wouldn't the user be found but the insert fail due to a duplicate facebook id?</p>
  
  <p>This works perfectly on my osx dev environment but fails on my ubuntu server (bundled) and running with NODE_ENV=production.</p>
  
  <p>Here is the log output:</p>
  
  <pre><code>data:    { services: { facebook: { id: 'xxxx' } } } (the query provided to getUser)
  data:    undefined (the result of findOne)
  data:    Exception while invoking method 'getUser' MongoError: E11000 duplicate key error index: thunderstruck.users.$services.facebook.id_1  dup key: { : "xxxx" }
  data:        at Db.wrap (/home/jeremy/deploy/thunderstruck/releases/20121105202012/bundle/server/node_modules/mongodb/lib/mongodb/db.js:1904:11)
  data:        at null.&lt;anonymous&gt; (/home/jeremy/deploy/thunderstruck/releases/20121105202012/bundle/server/node_modules/mongodb/lib/mongodb/collection.js:320:26)
  data:        at g (events.js:192:14)
  data:        at EventEmitter.emit (events.js:126:20)
  data:        at Db._callHandler (/home/jeremy/deploy/thunderstruck/releases/20121105202012/bundle/server/node_modules/mongodb/lib/mongodb/db.js:1439:25)
  data:        at Server.connect.connectionPool.on.server._serverState (/home/jeremy/deploy/thunderstruck/releases/20121105202012/bundle/server/node_modules/mongodb/lib/mongodb/connection/server.js:425:30)
  data:        at MongoReply.parseBody (/home/jeremy/deploy/thunderstruck/releases/20121105202012/bundle/server/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:127:5)
  data:        at Server.connect.connectionPool.on.server._serverState (/home/jeremy/deploy/thunderstruck/releases/20121105202012/bundle/server/node_modules/mongodb/lib/mongodb/connection/server.js:384:22)
  data:        at EventEmitter.emit (events.js:96:17)
  data:        at _connect (/home/jeremy/deploy/thunderstruck/releases/20121105202012/bundle/server/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:136:13)
  </code></pre>