У меня есть коллекция Parent
с, которая содержит EmbeddedThing
с, и каждый EmbeddedThing
содержит ссылку на User
, который ее создал.
UserCollection: [
{
_id: ObjectId(…),
name: '…'
},
…
]
ParentCollection: [
{
_id: ObjectId(…),
EmbeddedThings: [
{
_id: 1,
userId: ObjectId(…)
},
{
_id: 2,
userId: ObjectId(…)
}
]
},
…
]
Я скоро понял, что янужно получить все EmbeddedThing
с для данного пользователя, что мне удалось сделать с помощью map / redu:
"results": [
{
"_id": 1,
"value": [ `EmbeddedThing`, `EmbeddedThing`, … ]
},
{
"_id": 2,
"value": [ `EmbeddedThing`, `EmbeddedThing`, … ]
},
…
]
Это где я должен просто нормализовать EmbeddedThing
в его собственную коллекцию, или долженЯ все еще держу карту / уменьшить, чтобы выполнить это?Может быть, какой-то другой дизайн?
Если это поможет, пользователи увидят свой список EmbeddedThing
во всех Parent
, в отличие от какой-то задачи по отчетности / агрегированию (что заставило меня понять, что ямогу ли я сделать это неправильно).
Спасибо!