MongoDB,Mongoose,外键,连接表

时间:2015-09-18 12:55:12

标签: mysql node.js mongodb mongoose

我一直在网上寻求有关MongoDB外键关系的帮助。

我想知道是否有可能在MongoDB中实现主/外键关系,类似于MYSQL?

如果没有,是否有人建议使用其他节点包?

我只想链​​接两个系列,学生和班级?如果有人能够帮助那将是太棒了。谢谢。

1 个答案:

答案 0 :(得分:0)

MongoDB相当于"主键"是每个文档的字段_id。默认情况下,它使用唯一的ObjectId填充,但是当您拥有更适合数据的主键时,可以将其分配给_id字段(当您的"主键"是多个字段时) ,使其成为分配给_id)的子文档。

MongoDB在文档之间没有显式声明的外键关系。毕竟,它不是关系数据库。当然,这确实不能阻止你“未宣布”#34;每个Student文档中字段形式的外键,它是其所属的Class文档的唯一标识符。

或者,您可以在Student文档中嵌入与Class相同的Class作为数组。这是否是一个好主意取决于您打算如何使用您的数据。

理想的MongoDB架构并不太依赖于数据的结构,而是取决于您要对其执行哪些查询。当您设计数据模式时,关系数据库用户需要关注的一件重要事情是 MongoDB不执行JOIN 。如果需要连接,则需要在应用程序中执行它们。因此,对于任何性能关键的用例,您应该避免任何需要从多个集合中获取数据的设计。