Я выполняю запрос поиска, используя $ unwind, чтобы найти все результаты элементов массива из поля массива одной коллекции, объединенной с другой коллекцией. Я использую следующий запрос:
db.getCollection('Products').aggregate([{$unwind:"$SupplierOffers"},{$lookup:{from:"Offers", localField:"SupplierOffers",foreignField:"_id", as:"Producttypes"}},
{$project:{"Producttypes.offeringType":1, _id:1}}])
Фактические результаты
{
"_id" : ObjectId("5bfe8978192b5c14e8d88ba7"),
"Producttypes" : [
{
"offeringType" : "package A"
}
]
}
{
"_id" : ObjectId("5bfe8978192b5c14e8d88ba7"),
"Producttypes" : [
{
"offeringType" : "package B"
}
]
}
из-за аннотации раскрутки, возможно, у меня есть результат как ниже:
{
"_id" : ObjectId("5bfe8978192b5c14e8d88ba7"),
"Producttypes" : [
{
"offeringType" : ["package A","package B"]
}
]
}
Полагаю, это относится к группе или это невозможно из-за раскручивания? Мне нужно это таким образом, чтобы я мог в дальнейшем перенести это в метеор.