mongodb - 创建架构与添加附加字段?
问题描述
我想在我的系统中存储诸如员工精选之类的特色产品,每个类别的特色产品,最多可容纳 10 个文档。我的首要任务是读取性能而不是写入性能,但我也想要一个高效的存储系统,我有三种方法可以做到:
在模式中创建一个
boolean
字段,例如is_bestseller
,并对其进行查询。is_staffpick
Products
我认为这是最简单的方法,但我认为这需要额外的查询来检查是否已达到最多 10 个限制。
创建一个
FeaturedProducts
包含产品 ID 引用的架构。这很有用,如果我想在特色产品中添加一些额外的信息,例如特色产品,那么我可以简单地在这个模式中添加一个字段。检查最多 10 个文档的限制也很容易。我认为这使它更具可扩展性,但以性能为代价?
创建一个
FeaturedProducts
包含所有需要数据的模式。我认为在性能方面这将是最好的,但我不确定这是否是一种有效的数据存储方式。基本上,我只是复制产品的数据并存储它。显然,如果我必须更新产品详细信息,那么我现在必须在两个地方更新它,但读写比非常有利于阅读,所以我愿意这样做,即使它需要更多关于更新和删除产品的逻辑。此外,最多设置 10 个文档的限制也很容易。
我试图寻找一些关于特色产品的例子,但找不到任何有用的东西。我不确定这里的最佳做法是什么以及采用哪种方式,因此感谢您提供任何帮助。
解决方案
推荐阅读
- javascript - JavaScript 匹配逗号分隔字符串中的多个值
- swift - 在框架的顶部和底部模糊 UiImageView
- windows - How does PowerShell handle redirection compared to Command Prompt?
- tomcat9 - 无法使用 Tomcat 在 localhost 中获取 Hello World
- cassandra - 将多个 SSTable 离线压缩/合并为一个
- javascript - 从文件路径中检索图像并将其编码为 Base64
- r - 通过 RStudio 中的 YAML 标头的默认编织目录?
- reactjs - React Hooks - 如何测试全球供应商的变化
- nginx - 在 https 上提供主域内容的子域
- r - 使用循环从 R 中的大数据框中删除停用词需要太多时间