最近我一直在玩RavenDB。我专门测试了它从一个MySQL数据库导入的能力,在本例中是一个Northwind数据集(具体地说,就是这个链接提供的数据集:https://github.com/dalers/mywind)。
在RavenStudio中,我决定从SQL (本地MySQL数据库)导入到RavenDB中。唯一没有作为自己的集合导入的表是employee_privileges表。相反,它在相关文档中以属性(键-值对)的形式存在。我只是好奇为什么?
当我通过MySQL查询employee_privileges表时,我收到以下结果集:
MariaDB [northwind]> select * from employee_privileges;
+-------------+--------------+
| employee_id | privilege_id |
+-------------+--------------+
| 2 | 2 |
+-------------+--------------+
1 row in set (0.00 sec)任何对此的见解都将不胜感激!
发布于 2019-09-23 17:04:11
NoSQL数据模型允许嵌套数组/对象。在SQL中,它被呈现为附加表。在某些情况下,这样的表是不自然的,它是为了满足第三范式而创建的。在您的示例中,嵌入了employee_privileges。解决了select n+1问题。您可以将其作为集合保留,而不是嵌入它。在下面的页面上找到更多信息。
https://stackoverflow.com/questions/58036564
复制相似问题