Я пока придумал такую схему: клиент авторизируется через facebook sdk, посылает токен на сервер, сервер его проверяет (запрашивает /me?access_token=), если все ок то выдает клиенту новый внутренний токен и клиент уже посылает запросы с этим токеном. Все делается по SSL.
Все же большая часть проблем решает встраиванием и индексом на DBRef. Если все же нужен Join — а тут ли инструмент вы используете? или а правильно ли вы сделали дизаин приложения? Нельзя же реляционую модель мышление на монгу накладывать.
Так, во первых join'ы не нужный в mongo, встраиваемые документы и DBRef наше все. А во вторых, в mongo уже давно есть журнал изменений и он включен по-умолчанию. А Replica Set имеет смысл только если 3 разных машины иначе это не Replica Set.
У меня наоборот, Google Voice почти всегда правильно расшифровывает. Не понимает только если уж совсем местная калифорнийка говорит, там и я испытываю сложности.