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
}}
)