如何处理mongodb集合生成的嵌套字段

时间:2015-05-06 19:53:31

标签: sql-server mongodb csv database-schema database

我是mongodb的新手。我将我的mongodb集合导出为csv文件,将其导入我的sql-server。问题是其中一个字段是嵌套的。任何人都可以告诉我如何处理该字段(地址),以便它在sql server中正确插入。所以这就是我的意思

收藏品是
Id |名称|薪水|地址|
|房子没有|街|城市|国家|

1 个答案:

答案 0 :(得分:1)

嵌套子文档是最简单的嵌套方式,因为您始终可以将这些子文档展平到顶级文档中。

在您的示例中,Address子文档可以展平为四个顶级字段:

  • Address - House No
  • Address - Street
  • Address - City
  • Address - Country

您在此扁平化中丢失了一些信息,具体而言,知道所有四列都是单个实体的属性。但是,如果您的目标是单个CSV文件,这是不可避免的(例如,您可以通过创建单独的Address表来避免丢失此信息,但这将导致多个CSV)。

当MongoDB中有数组值时,更为棘手的扁平化。那些不能有用地扁平化为单个表。您必须发明可能的许多表来正确表示信息。

此外,如果您并非绝对在SQL Server上销售,我建议查看MoSQL,这是另一个可以将数据从MongoDB复制到Postgres的开源项目(它不支持数组)。

在这个时代,您不必编写代码来进行此翻译。