在我的应用程序中,我必须保存一个定义特定实体的“描述符”。所有这个实体都有一些固定属性和一些变量属性。
因为我来自RDBMS,所以我很难理解如何建模这些数据:
在RDBMS中,我将:
在MonboDB中,最好还有单独的集合,或者只有一个集合,每个文档都有固定字段和动态?
这是一些例子:
第一份文件
{
"name": "entityName",
"type": "entityType",
"date": "the Date",
"fieldA": "valueForFieldA",
"fieldB": "fieldB",
}
第二份文件
{
"name": "entityNameTwo",
"type": "entityTypeTwo",
"date": "the Date for Two",
"fieldC": "fieldC"
}
因此,第一个文档包含fieldA
和fieldB
,第二个文档包含fieldC(因此,没有fieldA
或fieldB
- 这些是动态属性)。两个文档都是descriptors
,但是带有变量属性
我的问题是:
最好创建一个名为descriptors
的集合,然后存储所有文档? descriptors
在动态字段方面可能非常大(例如,我可以有50/100种文档,每种文档都有自己的“变量”字段)
最好是创建单独的集合(如在RDBMS中),每个字段看起来像一列?
不知道:)也许有一个更好的解决方案,我不知道...(RDBMS背景没有帮助...)
当然,在RDBMS中,解决方案很简单(解决方案1.,没有替代方案)
感谢您的建议帮助。