【发布时间】:2014-02-04 09:20:32
【问题描述】:
我是 mongodb 和 nosql 数据库的新手。我真的很感谢我的架构设计的一些输入/帮助,所以我不会在脚下开枪。
数据:我需要为Quotes 建模。一个Quote 包含许多Ttems。每个Item 包含许多Orders。每个Order 都与特定的财政季度相关联。 例如。我有一个Quote,其中包含一个Item,它在Q3-14、Q4-14、Q1-15中有Orders。 Orders 只在未来 12 个季度(3 年)内max。具体来说,我在建模Order-quarter 绑定时遇到了麻烦。我正在尝试对数据进行非规范化并嵌入 Quote Items Orders 以获得性能。
尝试/想法:
- 拥有一个包含
year和qNum字段的Order架构。在每个Item中嵌入一个Orders数组。还可以创建虚拟qKey字段,用于通过Q1-14等字符串进行设置/获取 - 使用
Q1-14之类的键创建一个将Orders 嵌入Item的哈希。这会很好,但 Mongoose 本身不支持。 - 将当前(基本)季度存储在每个
Quote中,并让每个Item包含一个Orders 数组,但让它们按从基本季度偏移的#quarters 索引。 IE。如果当前是 Q1-14,并且有 Q4-14 的订单进来,则将其存储在数组位置 2 中。
我完全偏离了标记吗?感谢任何建议,因为我很难有效地使用 Mongo。谢谢
【问题讨论】:
-
我能问一下,当您的数据是关系型数据时,您为什么选择 Mongo 而不是传统的 RDBMS?
-
@jibsales 我正在使用 Node.js,并且可以在 mongo 或 mssql 之间进行选择。 Mongo 似乎在节点社区风靡一时,所以我想我会尝试一下。此外,目前没有可用于带有节点的 mssql 的 ORM。此外,完整的 JSON/JS 堆栈似乎很诱人。
标签: node.js mongodb mongoose database