首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于最终属于某物的无父母物体,什么是正确的蒙古关系?

对于最终属于某物的无父母物体,什么是正确的蒙古关系?
EN

Stack Overflow用户
提问于 2014-02-15 00:52:06
回答 1查看 38关注 0票数 1

我有两个物体:

  1. 香蕉
  2. 篮子

香蕉没有篮子就能生存。

但篮子必须装有香蕉。

我做了:

香蕉类embedded_in

班篮嵌入香蕉

当我试图创造一个香蕉,蒙古抱怨没有篮子。

解决办法是什么?

EN

回答 1

Stack Overflow用户

发布于 2014-02-16 00:06:16

香蕉没有篮子就能生存。

这使得它成为一个初级公民,所以嵌入并不是一个真正的选择(你可以为不在篮子里的香蕉制造“影子篮子”,但是这个想法在凌晨一点就太可怕了。)不建议)。

听起来一个篮子里可能有不止一个香蕉,但即使没有,把这个篮子放进香蕉里也是没有意义的。它不能模拟现实,所以它可能是一个糟糕的设计。

篮子必须装有香蕉。

您必须在客户端代码中确保这一点,并将香蕉和篮子作为第一级公民:

代码语言:javascript
复制
basket { _id : 7871, ... }
banana { _id : 4545, basket_id : 7871, ... }

代码语言:javascript
复制
basket { _id : 7871, banana_ids : [ 4545, ... ] }
banana { _id : 4545, ... }

第二个变体使执行一个篮子必须有一个香蕉的规则更容易,而第一个则使确保一个香蕉不同时在两个篮子中变得更容易。

确保满足这些条件并不简单,因为mongodb不支持事务,而且您不能原子地修改多个文档。您的客户端代码将不得不处理这个问题,例如,通过锁定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21792016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档