MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mettre à jour une collection à partir d'une autre base de données

db.getSiblingDB().collection.find() est une opération côté client. Ce n'est pas quelque chose que vous pouvez utiliser pour joindre des collections dans le cadre d'une requête. Pour cela, voir https://docs.mongodb.com/manual/ référence/opérateur/agrégation/recherche/ .

La deuxième chose que vous faites est de récupérer des champs imbriqués dans un document. Vous pouvez le faire avec $set et la notation par points. Voir spécifiquement l'exemple sur https://docs.mongodb.com/manual/reference/operator/aggregation/set/#adding-fields-to-an-embedded-document .

Vous devrez construire un seul pipeline d'agrégation qui fera tout ce que votre mélange actuel d'agrégation et de javascript fait en utilisant uniquement les opérations documentées dans https://docs.mongodb.com/manual/reference/operator/aggregation/ et les étapes documentées dans https://docs.mongodb.com/manual /reference/operator/aggregation-pipeline/ .