如何在Mongodb中实现类似外键的外键?
答案 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的做事方式。表现将受到惩罚。 [引文结束]