我一直在开发EAV(实体属性值)web应用程序。MongoDB无模式设计 - 优势还是一塌糊涂?
我想要使用mongo的主要原因是它是无模式的,即它很容易找到具有“颜色”属性的汽车而没有不必要的字段。
这里将要实施文档结构的简单的例子:
洁具从计算机类:
{
name: "Core i7",
category: 1,
properties:{
price:300,
vendor: "Intel",
...
}
}
同时还有洁具从汽车类,它有自己的属性集:
{
name: "Audi Q7",
category: 2,
properties:{
price:30000,
color:"red",
hp:200
...
}
}
但是,如果我有100类别我的数据库将存储100个不同的文件(通过它的结构)。 MongoDB文档说这些文档可以是无模式的,但是具有更少或更多相同结构的文档是一种很好的做法。
我的问题是:有很多不同的结构文件是非常糟糕的做法吗?
一个政治正确的答案,什么也没说。如果你说过像“稀疏矩阵”数据或类似的东西,可能会更好。 – kizzx2