Nyní to můžete udělat v Mongo 3.2 pomocí $lookup
$lookup
trvá čtyři argumenty
from
:Určuje kolekci ve stejné databázi, se kterou se má provést spojení. Sbírka ze sbírky nemůže být sdílena.
localField
:Určuje pole ze vstupu dokumentů do fáze $lookup. $lookup provede shodu na místním poli s cizím polem z dokumentů kolekce od.
foreignField
:Určuje pole z dokumentů v kolekci od.
as
:Určuje název nového pole pole, které se má přidat do vstupních dokumentů. Nové pole pole obsahuje odpovídající dokumenty z kolekce from.
db.Foo.aggregate(
{$unwind: "$bars"},
{$lookup: {
from:"bar",
localField: "bars",
foreignField: "_id",
as: "bar"
}},
{$match: {
"bar.testprop": true
}}
)