在 mongoid 中使用嵌入和引用的正确方法

发布于 2024-11-01 21:19:28 字数 226 浏览 1 评论 0原文

我正在建立关联,如下

人嵌入一个地址

地址引用一个国家/地区 地址引用一个省份

国家嵌入多个省份

上述关联好吗?我很困惑如何构建它们。我不知道 mongodb 和 mongoid 建立关联的确切用途。

我主要关心的是何时使用嵌入以及何时使用引用关联?

I'm building association as follow

person embeds one address

address references one country
address references one province

country embeds many provinces

Is above association is good? I'm too much confused how to build them. I don't know exact use of mongodb and mongoid for building association.

Main concern of mine is when to use embedded and when to use references associations?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鲜血染红嫁衣 2024-11-08 21:19:28

MongoDB 中的架构设计取决于您将如何查询数据以及如何更新数据。没有通用的硬性规则来确定是否应嵌入或引用关联。我建议您看看这篇这篇优秀文章。

关于您建议的架构,您还可以将国家/地区作为省份文档上的属性/字段,并且比在关系数据库中进行更少的规范化。这完全取决于您访问文档的方式。

collection provinces:

{
   name : 'Alabama'
   country : 'United States'
}

Schema design in MongoDB depends on how you will query the data and how you will update the data. There is no general hard rule to determine if an associations should be embedded or referenced. I suggest you have a look at this excellent article.

Concerning your suggested schema you could also make the country an attribute/field on a province document and do less normalization than you would in a relational database. It all depends on how you access your documents.

collection provinces:

{
   name : 'Alabama'
   country : 'United States'
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文