我一直在网上寻求有关MongoDB外键关系的帮助。
我想知道是否有可能在MongoDB中实现主/外键关系,类似于MYSQL?
如果没有,是否有人建议使用其他节点包?
我只想链接两个系列,学生和班级?如果有人能够帮助那将是太棒了。谢谢。
答案 0 :(得分:0)
MongoDB相当于"主键"是每个文档的字段_id
。默认情况下,它使用唯一的ObjectId填充,但是当您拥有更适合数据的主键时,可以将其分配给_id
字段(当您的"主键"是多个字段时) ,使其成为分配给_id
)的子文档。
MongoDB在文档之间没有显式声明的外键关系。毕竟,它不是关系数据库。当然,这确实不能阻止你“未宣布”#34;每个Student
文档中字段形式的外键,它是其所属的Class
文档的唯一标识符。
或者,您可以在Student
文档中嵌入与Class
相同的Class
作为数组。这是否是一个好主意取决于您打算如何使用您的数据。
理想的MongoDB架构并不太依赖于数据的结构,而是取决于您要对其执行哪些查询。当您设计数据模式时,关系数据库用户需要关注的一件重要事情是 MongoDB不执行JOIN 。如果需要连接,则需要在应用程序中执行它们。因此,对于任何性能关键的用例,您应该避免任何需要从多个集合中获取数据的设计。