Как объединить две коллекции из разных баз данных в агрегатный запрос MongoDB? - PullRequest
1 голос
/ 19 февраля 2020

У меня есть две коллекции [править] в двух разных базах данных. Скажите это как collection_a и collection_b.

collection_a document

{
    "_id": {
        "$binary": {
             "base64": "y5tcYX6t3kCCUHJtFF+RHg==",
             "subType": "03"
        }
    },
    "name": "some_name"
}

collection_b document

{
    "_id": {
        "$binary": {
           "base64": "DT+2QXMycUuX1xLdiFNO5w==",
            "subType": "03"
        }
    },
    "parentId": {
        "$binary": {
            "base64": "y5tcYX6t3kCCUHJtFF+RHg==",
            "subType": "03"
        }
    },
    "Status": "Completed",
    "Progress": {
        "$numberDouble": "100"
    }
}

Как получить name из collection_a, используя $ lookup из collection_b? Пробую что-то вроде ниже, но я не вижу результатов.

db.collection_b.aggregate([
      {
   $lookup:
     {
       from: 'collection_a',
       localField: 'parentId',
       foreignField: '_id',
       as: 'name'
     }
}
])



поиск работает, только если обе коллекции находятся в одной базе данных.

...