Atualmente, isso simplesmente não é possível. Para acessar duas coleções, você teria que usar a estrutura de agregação que, no entanto, não pode realizar nenhuma manipulação de dados neste estágio. Além disso, o requisito "de cada vez" exigiria suporte para transações que estão disponíveis apenas em uma versão beta no momento - então, novamente, azar.
A conclusão é:sua abordagem sugerida com o retorno de chamada é o caminho a seguir.