没有从mongodb中的跨数据库查询获得结果

时间:2017-12-14 09:57:12

标签: mongodb

这两个集合都位于本地不同的数据库中。 尝试获取结果但获取[]。请帮忙

db.loans.aggregate([ 
{
    $lookup:{
        from: "payments",    
        localField: "ReferenceNumber", 
        foreignField: "LoanReferenceNumber",
        as: "pmt"   
    }
},

{
    $match:{
        $and:[{"ReferenceNumber" : "206344"}]
    }
},
{   
    $project:{
        _id : 0,
        ReferenceNumber : 1,
        Purpose : 1,
        AccountHolder : "$pmt.AccountHolder",
    } 
}
]);

1 个答案:

答案 0 :(得分:0)

无法在两个不同的数据库中使用查询进行查询。 MongoDB中的$lookup支持在同一数据库中对一个未加深的集合执行左外连接。

{
   $lookup:
     {
       from: <collection to join>,
       localField: <field from the input documents>,
       foreignField: <field from the documents of the "from" collection>,
       as: <output array field>
     }
}

我们可以使用getSibling(&#34; dbname&#34;)从一个db查询另一个db

db.getSiblingDB('test').foo.find()

但是,在聚合中不可能使用兄弟。