我在 mongoid 中映射关系,我想知道 mongoid 的最佳实践。
楷模
- 顾客
- 服务
- 供应商
有四种不同的服务(S1、S2、S3、S4),每种服务由特定的供应商提供。如何映射这些模型或建立它们之间的关系?
提前致谢。
我在 mongoid 中映射关系,我想知道 mongoid 的最佳实践。
楷模
有四种不同的服务(S1、S2、S3、S4),每种服务由特定的供应商提供。如何映射这些模型或建立它们之间的关系?
提前致谢。
只是我的 2 美分:
客户 N:1 供应商
S1 < 供应商
S2 < 供应商
S3 < 供应商
S4 < 供应商
您可以使用 Mongoid 支持的这两种方法中的任何一种:
Referenced 1-N (aka has_many
)
在这个模型中,每个服务都将存储_id
提供它的供应商的 ,类似于典型的 RDBMS。
Embedded 1-N (aka embeds_many
)
在这个模型中,每个供应商文档将只存储一个内部数据结构,表示它提供的服务列表。
与 MongoDB 中的大多数模式决策一样,您选择的方法主要应基于您的用例,以及您预计应用程序中需要哪些类型的查询。这个问题很好地概述了何时在 MongoDB 中嵌入与参考:
有关 Mongoid 中关系的更多详细信息,请参阅Mongoid 文档的关系页面。