Вече можете да го направите в Mongo 3.2, като използвате $lookup
$lookup
приема четири аргумента
from
:Указва колекцията в същата база данни, с която да се извърши присъединяването. От колекцията не може да се раздели.
localField
:Указва полето от въведените документи до етапа $lookup. $lookup извършва съвпадение на равенство на localField към externalField от документите на колекцията from.
foreignField
:Указва полето от документите в колекцията от.
as
:Указва името на новото поле на масива, което да се добави към входните документи. Новото поле на масива съдържа съответстващите документи от колекцията от.
db.Foo.aggregate(
{$unwind: "$bars"},
{$lookup: {
from:"bar",
localField: "bars",
foreignField: "_id",
as: "bar"
}},
{$match: {
"bar.testprop": true
}}
)