Vous pouvez maintenant le faire dans Mongo 3.2 en utilisant $lookup
$lookup
prend quatre arguments
from
:spécifie la collection dans la même base de données avec laquelle effectuer la jointure. La collection from ne peut pas être fragmentée.
localField
:spécifie le champ de l'entrée des documents à l'étape $lookup. $lookup effectue une correspondance d'égalité entre le localField et le foreignField à partir des documents de la collection from.
foreignField
:spécifie le champ des documents de la collection from.
as
:spécifie le nom du nouveau champ tableau à ajouter aux documents d'entrée. Le nouveau champ de tableau contient les documents correspondants de la collection from.
db.Foo.aggregate(
{$unwind: "$bars"},
{$lookup: {
from:"bar",
localField: "bars",
foreignField: "_id",
as: "bar"
}},
{$match: {
"bar.testprop": true
}}
)