Mongo DB中的外键关系

Las*_*ara 11 mongodb

如何在Mongo DB中实现类似关系的外键?

Tat*_*nit 8

hiya看到这个:MongoDB规范化,外键和加入 &&进一步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时,您才会看到它是否存在,如果引用的目标不再存在,DB将不会遍历所有文档以查找引用并删除它们.但我认为删除书后删除所有引用将需要每个集合一个查询,不再需要,所以不是那么困难.

编辑更新

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

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

  • 只是一个FYI - 文章的链接已经死了. (2认同)