2011-03-16 75 views
3

可能重复:
MongoDB Many-to-Many Association如何在Mongodb中建立ManyToMany关系?

我使用的MySQL/SQLite,让多年,有真正的麻烦让我围绕着如何在MongoDB中关系做头,特别是多对多的关系,我只是不知道什么是最佳实践。

好的,我有一个company的项目。一个employee可以为多个公司工作,一个公司可以有多个员工。连接表被称为contracts

即: company -<contracts>- employees

领域。

公司:ID,名称

合同:长,工资,COMPANY_ID,EMPLOYEE_ID

员工:ID,名称

我的实际应用最终对每个表20+领域,但我暂时保持简单。

这是我在Mongodb中试图复制这个时候开始受伤的地方。

ie;

// 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次。

因此,为了减少重复内容的数量,我需要将公司,员工和合同文档分开,请更正?

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

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

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

即:打印一份为一家合同期少于10周的公司工作的所有员工列表。你可以看到,我仍然有点困扰MongoDB,我仍然在用SQL的方式思考,但我希望有人能够帮助至少指出正确的方向如何处理以及MongoDB中ManyToMany关系的最佳实践。

谢谢。

+1

这是一个骗局。重复相同的答案在这里没有帮助。 – 2011-03-16 08:28:46

+0

对不起。 – zardon 2011-03-18 09:23:37

回答