db.getSiblingDB().collection.find()
jest operacją po stronie klienta. Nie jest to coś, czego można użyć do łączenia kolekcji w ramach zapytania. W tym celu zobacz https://docs.mongodb.com/manual/ referencja/operator/agregacja/wyszukiwanie/
.
Drugą rzeczą, którą robisz, jest pobieranie zagnieżdżonych pól z dokumentu. Możesz to zrobić za pomocą notacji $set i kropki. Zobacz przykład w https://docs.mongodb.com/manual/reference/operator/aggregation/set/#adding-fields-to-an-embedded-document .
Będziesz musiał zbudować pojedynczy potok agregacji, który zrobi wszystko, co robi Twoja obecna mieszanka agregacji i JavaScript, używając tylko operacji udokumentowanych w https://docs.mongodb.com/manual/reference/operator/aggregation/ oraz etapy udokumentowane w https://docs.mongodb.com/manual /referencja/operator/potok-aggregacji/ .