Как объединить две таблицы, это в двух разных БД в mongodb - PullRequest
0 голосов
/ 12 мая 2019

У меня есть документы в следующей структуре, сохраненные в моем mongodb.

БД: DB1, Коллекция: Collection1

{
"_id":"111",
"studentID" : "1"
}

БД: DB2,Collection: Collection2

{
"_id":"111",
"studentID" : "1",
"login" : true
},
{
"_id":"333",
"studentID" : "2",
"login" : false
}

мой вопрос: я хочу объединить обе таблицы, тогда DB1-> Collection1 у меня есть один документ studentID равен 1, но DB2-> Collection2 имеет 2 документа, но я должен вернуть один документчто равно DB1-> Collection1

mongodb version = 3.4

Мой ожидаемый выход

{
"_id":"111",
"studentID" : "1",
"login" : true
},

Предположим, единственное DB означает, что я могу присоединиться, но в этом случаеу меня нет идеи написать запрос, пожалуйста, помогите по этому вопросу

I tried but it is not working, it is keep on loading...


var memberType;
db.Collection1.find({})
.forEach(function(doc){
        memberType = doc.studentID;
        if(memberType.length > 0){
            var records = db.getSiblingDB('DB2');
            records.Collection2.find({'studentID' : { '$in' : memberType }}).forEach(function(loc){
                print(loc); 
            })
        }
    })
...