db.getSiblingDB().collection.find()
é uma operação do lado do cliente. Não é algo que você possa usar para unir coleções como parte de uma consulta. Para isso, consulte https://docs.mongodb.com/manual/ referência/operador/agregação/pesquisa/
. A segunda coisa que você está fazendo é recuperar campos aninhados de um documento. Você pode fazer isso com $ set e notação de ponto. Veja especificamente o exemplo em https://docs.mongodb.com/manual/reference/operator/aggregation/set/#adding-fields-to-an-embedded-document .
Você precisará construir um único pipeline de agregação que faça tudo que sua combinação atual de agregação e javascript faz usando apenas as operações documentadas em https://docs.mongodb.com/manual/reference/operator/aggregation/ e os estágios documentados em https://docs.mongodb.com/manual /reference/operator/aggregation-pipeline/ .