Motivo:"A consulta será executada se o retorno de chamada for passado, caso contrário, um objeto de consulta será retornado." (abaixo da seção de devoluções)
.then()
não é realmente uma promessa, está disfarçada de mangusto, mas atua como uma execução. Você pode vê-lo executar consultas aqui
.exec()
da documentação
"Executa a consulta" e retorna uma promessa (verdadeira)