【问题标题】:MongoDB CSV Export => RethinkDB CSV Import ErrorMongoDB CSV 导出 => RethinkDB CSV 导入错误
【发布时间】:2015-11-21 13:28:30
【问题描述】:

我首先使用 mongoexport 使用以下代码从 MongoDB 导出数据:-

mongoexport --host 192.168.16.130 --db dbname --collection transaction --out out.csv

然后我尝试将此 CSV 文件导入 RethinkDB,但我总是收到此错误:-

rethinkdb import -f out.csv --format csv --table test.data

错误 "未指定主键,创建表时使用默认主键 [ ] 0% 在 1 个表中导入 0 行 错误:文件“/home/akashyap/out.csv”第 6 行的列数不一致 在文件中:/home/akashyap/out.csv 导入时出错”

CSV文件的格式有问题吗? JSON文件也发生了同样的问题。

【问题讨论】:

  • rethinkdb 是不是一个 nosql 数据库,它显示错误,表示架构中有变化
  • 您可以发布您的 CSV 样本吗?
  • 正在阅读您的消息,您的 CSV 文件在第 6 行似乎有不同的列。只需在此处发布 CSV 文件的一部分,人们就会帮助您。
  • 这里是那个导入工具的代码:github.com/rethinkdb/rethinkdb/blob/… 很清楚的比较了标题中的字段数和CSV文件中每行的字段数。所以我想你必须通过在Mongo DB中创建一些更多的空或NULL字段来弥补额外的数据,再次导出文件CSV,以便所有行上的字段数相等
  • 您可能应该输出为 JSON 以获得更好的导入 RethinkDB 的体验。你选择 CSV 有什么原因吗?

标签: mongodb csv import rethinkdb


【解决方案1】:

可能有更好的方法从 MongoDB 导入数据(这总是一个好主意)。您可以使用以下方法之一:

1.使用运输工具

Transpoter 是一种将数据从数据库移动到数据库的工具。它同时具有 MongoDB 和 RethinkDB 适配器。我从来没有用过它,但它看起来很不错。这是Compose 的一个开源项目。

https://github.com/compose/transporter

2。使用数据

这是我为此创建的一个 npm 模块。它适用于某些角落情况,例如日期时间对象和几何对象。

https://www.npmjs.com/package/datda

【讨论】:

  • 非常有用的工具。 OP 应该直接使用这些而不是处理 MongoDB 数据 CSV 导出。因为 RethinkDB 更喜欢 JSON rethinkdb.com/docs/importing。使用 CSV 导入器将所有字段作为字符串,这也很糟糕。
【解决方案2】:

OP solved problem by exporting from MongoDB as JSON and importing into RethinkDB as JSON.

rethinkdb import -f out.json --format json --table test.data

【讨论】:

    猜你喜欢
    • 2013-03-18
    • 2017-05-29
    • 2015-03-14
    • 2014-11-02
    • 1970-01-01
    • 2015-09-23
    • 2016-07-10
    • 1970-01-01
    • 2013-10-11
    相关资源
    最近更新 更多