Mongodb中的外键关系

时间:2012-03-30 07:54:39

标签: mongodb

如何在Mongodb中实现类似外键的外键?

1 个答案:

答案 0 :(得分:8)

hiya看到这个:MongoDB normalization, foreign key and joining&&进一步 http://shop.oreilly.com/product/0636920018391.do ===> http://books.google.com/books/about/Document_Design_for_MongoDB.html?id=TbIHkgEACAAJ&redir_esc=y

  

MongoDB不支持服务器端外键关系,   也不鼓励正常化。你应该嵌入你的孩子对象   如果可能,在父对象内,这将提高性能和   完全没必要使用外键。这说并不总是   可能,所以有一个叫做DBRef的特殊结构允许   不同集合中的引用对象。这可能不是这样   快速,因为DB必须进行额外的查询才能读取对象   允许一种外键引用。

     

仍然需要手动处理您的参考。只有   查找你的DBRef你会看到它是否存在,数据库不会去   通过所有文件来查找引用并删除它们   如果引用的目标不再存在。但我觉得   删除书后删除所有引用将需要a   每个集合的单个查询,不多,所以真的不那么难。

修改更新

http://levycarneiro.com/tag/mongodb/

levycarneiro.com/tag/mongodb [quote]因此,您创建了4个集合:客户,供应商,员工和联系人。您可以通过db引用将它们连接在一起。这就像一把外键。但是,这不是mongoDB的做事方式。表现将受到惩罚。 [引文结束]