首页 文章

如何在Mongodb中构建ManyToMany关系? [重复]

提问于
浏览
4

可能重复:MongoDB多对多关联

我已经使用了MySQL / SQLite多年,并且很难解决如何在MongoDB中 Build 关系,尤其是ManyToMany关系,我只是不知道什么是最佳实践 .

好的,我有一个带有 company 的项目 . employee 可以为多家公司服务,公司可以拥有多名员工 . 连接表名为 contracts .

即: company -< contracts >- employees

领域 . company:id,name contract:length,salary,company_id,employee_id employee:id,name

我的实际最终应用程序每个表有20个字段,但我暂时保持简单 .

当我试图在Mongodb中复制它时,这是我的头开始受伤的地方 .

即;

// Idea 1. Put everything in one hierarchy. 
// But, What should I be putting in contracts?
// Where does employees go?
//
// Pseduocode (based from MongoDB online browser shell)
var company = {name:'Company A', contracts:[????]};

问题是,如果员工可以为3家不同的公司工作 . 我将为他工作的每家公司重复员工内容3次 .

那么,为了减少重复内容的数量,我需要将公司,员工和 Contract 文件分开,对吗?

如果我将它们分开,我该如何进行连接,以及在哪里?

是否存储MongoDB为公司文档中的每一行/项生成的真正长的唯一ID?

如果是这样,我该如何取回我的东西?

即:列出 Contract 少于10周的1家公司的所有员工名单 .

正如你所看到的,我仍然对MongoDB有点挣扎,我仍然在考虑SQL类型的方式,但我希望有人可以帮助至少指出正确的方向如何处理,以及MongoDB中ManyToMany关系的最佳实践 .

谢谢 .

1 回答

相关问题