我的问题与选择正确的模式而非实际问题更为相关。假设我有一个数据库,我存储有关几个项目的信息。这些物品具有各种属性(宽度,高度,重量等),但并非所有物品都具有相同的属性。当我将数据从数据库传输到客户端应用程序时,我将数据编码为json字符串。到目前为止,我想出了两个不同的相同数据表示,我想知道一个人是否比另一个有任何优势,或者两者都可以使用。
{
...
properties :
{
property1 : "value1",
property2 : "value2"
}
}
{
...
properties :
[
{
property_name : "property1",
property_value : "value1"
},
{
property_name : "property2",
property_value : "value2"
}
]
}
正如您在第一个表示中所看到的,我使用嵌入式文档来存储属性,而在第二种格式中我使用的是数组。
没有一个项目具有两个具有相同名称但价值不同的属性,但两个项目可以共享相同的属性。
第一种方法对我来说似乎更简单,但我很好奇是否有首选方法来执行此操作。