Итак, у меня есть коллекция Организации примерно так:
[
{
"name": "Organization 1",
"locations": [
"5b0096f064386ef34a5118d0", // Location 1
"5b0096f064386ef34a5118d2" // Location 2
]
},
{
"name": "Organization 2",
"locations": [
"5b0096f064386ef34a5118d0" // Location 1
]
}
// ~1,000 organizations ...
]
и коллекция Местоположения примерно так:
[
{
// Location 1
"_id": "5b0096f064386ef34a5118d0",
"state": "AK",
"city": "Adak"
},
{
// Location 2
"_id": "5b0096f064386ef34a5118d2",
"state": "AK",
"city": "Akhiok"
},
// ~36,000 locations ...
{
// Location 3
"_id": "5b0096f064386ef34a51a63e",
"state": "WY",
"city": "Yoder"
}
]
Каждая Организация имеет массив идентификаторов местоположения (которые ссылаются на коллекцию Местоположение ).
Я хочу получить список различных "использованных" /Locations, на которые ссылаются, с заполненными данными (такими как город и штат).
Например, в приведенном выше сценарии я хотел бы получить обратно:
[
{
// Location 1
"_id": "5b0096f064386ef34a5118d0",
"state": "AK",
"city": "Adak"
},
{
// Location 2
"_id": "5b0096f064386ef34a5118d2",
"state": "AK",
"city": "Akhiok"
}
]
..., так как Location 1 иМестоположение 2 - единственные, на которые действительно ссылаются.
Есть идеи, как мне этого добиться?