我有一个 MongoDB 作为多个独立 SQL 数据库和 API 的整合中间层运行。
这些 SQL 数据库共享相似的 Article 表,但结构不同。鉴于一篇文章将属于多个类别和子类别,最多不超过4层。
结果我们有两种模式设计。
{
categories: [...]
}
and
{
categoriyL1: xxx,
categoriyL2: xxx,
categoriyL3: xxx,
categoriyL4: xxx
}
那么问题来了,性能和可维护性上哪个更好。
标题问题的答案(最好将子项放入数组或字段中)几乎总是取决于您的上下文。
就您而言,看起来我们不是在谈论儿童,而是在谈论分层分类法,其中有一个基本类别,然后是一个子类别,依此类推,共四个级别。我发现很难证明将其存储为数组是合理的,因为该数组意味着所有成员大致同等有价值,除了它们的顺序之外。正如@Thilo 在评论中指出的那样,字段结构也使得查询和索引变得稍微容易一些。
但从我的角度来看,使用字段最重要的好处是可以明确每个数据点的含义。如果一年后另一个开发人员考虑了categories
数组,他们可能会假设他们正在处理一组标签,并且会错过分类的分层结构。另一方面,如果开发人员查看一组字段(每个类别一个)并正确命名,他们将有更好的机会理解您的意图。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)