Дело в том, что я разрабатываю API-интерфейс restjs nodejs и не уверен в наилучшем способе установления отношений между сущностями.У меня есть основная сущность, которая будет хранить большую часть информации (простые свойства, такие как строки, числа, даты .... и вложенные документы).Вся эта информация уникальна для каждого основного документа, поэтому мой первый подход заключался в создании только одного документа с несколькими вложенными документами или массивами вложенных документов.Но я должен быть в состоянии выполнить пост / получить / поставить / удалить некоторые из этих вложенных документов по отдельности.Итак, в заключение мой вопрос.что лучше думать с точки зрения производительности?
Может быть, на примере я могу объяснить себя лучше.Всегда думая и принимая во внимание, что все поддокументы не передаются другим основным документам.
Пример одной коллекции:
{
"_id": ObjectId("xxxxxxxxxx"),
"prop1": "some text",
"number2": 1,
subDocumentsArr: [
{
"_id": ObjectId("xxxxxxxxxx"),
"someSubDocumentProp": "Some text"
},
{
"_id": ObjectId("xxxxxxxxxx"),
"someSubDocumentProp": "More text"
}
]
}
VS
Пример двух коллекций:
(first collection)
{
"_id": ObjectId("xxxxxxxxxx"),
"prop1": "some text",
"number2": 1,
subDocumentsArr: [ "subdoc1", "subdoc2" ]
}
(second collection)
{
"_id": ObjectId("subdoc1"),
"someSubDocumentProp": "Some text"
}
{
"_id": ObjectId("subdoc2"),
"someSubDocumentProp": "More text"
}
Спасибо!