Du kan nu göra det i Mongo 3.2 med $lookup
$lookup
tar fyra argument
from
:Anger samlingen i samma databas att utföra kopplingen med. Från-samlingen kan inte delas.
localField
:Anger fältet från dokumentinmatningen till $lookup-stadiet. $lookup utför en likhetsmatchning på det lokala fältet till det främmande fältet från dokumenten från samlingen från.
foreignField
:Anger fältet från dokumenten i från-samlingen.
as
:Anger namnet på det nya matrisfältet som ska läggas till i inmatningsdokumenten. Det nya arrayfältet innehåller matchande dokument från från-samlingen.
db.Foo.aggregate(
{$unwind: "$bars"},
{$lookup: {
from:"bar",
localField: "bars",
foreignField: "_id",
as: "bar"
}},
{$match: {
"bar.testprop": true
}}
)