У нас есть коллекция магазинов:
{
"_id" : ObjectId("xxxxxx"),
"shop" : "Q4",
"batch" : "5647",
}
{
"_id" : ObjectId("xxxxxx"),
"shop" : "Q4",
"batch" : "2314",
}
Первый шаг агрегирования, как показано ниже:
Aggregates.group("$shop", Accumulators.addToSet("batch", "$batch"))
Выход:
{ "_id" : "Q4", "batch" : ["5647", "2314"]}
Теперь - учитывая другую коллекцию inventory
, как показано ниже, нам нужно найти их в "batch"
выше, используя $in
- и добавить в вывод
{
"_id" : ObjectId("xxxxxx"),
"bolt" : "5647",
}
{
"_id" : ObjectId("xxxxxx"),
"bolt" : "0001",
}
{
"_id" : ObjectId("xxxxxx"),
"bolt" : "0004",
}
Ожидаемый результат:
{ "_id" : "Q4", "batch" : ["5647", "2314"],"bolt":["5647"]}
Как нам этого добиться?