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