这两个集合都位于本地不同的数据库中。 尝试获取结果但获取[]。请帮忙
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",
}
}
]);
答案 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()
但是,在聚合中不可能使用兄弟。