For write methods (insert, update, upsert) we have the option to include a callback parameter, the presence of which will make the call asynchronous. However, when reading data using findOne and fetch, the callback option is noticeably absent.
In the case of findOne, the Node.JS MongoDB driver supports a callback option, so I’ve been able to get around this limitation by using the rawCollection and wrapping the callback in Meteor.bindEnvornment.
It should be pretty simple for Meteor to include the callback option for findOne at least. Was this intentionally omitted for a good reason?