从SQLite导出数据库到MongoDB

14

使用命令行界面将小型(<10MB)SQLite数据库迁移到MongoDB的最简单方法是什么?目前我已经了解到,似乎需要逐个表进行操作。

> .output user.csv
> .mode csv
> .header on
> select*from user;
> .quit
> mongoimport --collection user --type csv --headerline --db rebuild user.csv

我以前也用过一种方法,即使用遍历RDBMS的XML转储并填充NoSQL DB的脚本。

这两种方法都可行,但感觉不够优雅 - 肯定有更好的方法吧?


你能展示一下你想要实现的(最小)样例吗? - Joachim Isaksson
1
不确定关于SQlite导出到CSV,因为我从未尝试过,但是如果要将CSV导入到MongoDB中,则需要在mongoimport命令中添加"--type csv"(可能还需要使用“--headerline”)。 - Joachim Isaksson
1
嘿,你知道吗,--headerline 可以解决字段问题。干杯!但我仍然需要逐个表格地进行修改...还没有优雅的导入导出解决方案。 - Ben
1
不好意思,我不知道有任何完全自动化的方法。可能你需要重新构建数据以将其移动到mongodb,因为它没有连接操作,你可能想要使集合更加面向访问模式。 - Joachim Isaksson
好的。根据这些评论,我已经进行了完整的重新编辑,以更好地呈现问题。 - Ben
3个回答

4
如果您会使用NPM和Node,那么有一个名为sqlitemongo的开源工具可以在CLI界面中处理此用例。
运行以下终端命令:
  1. sudo npm install --global sqlitemongo

  2. sqlitemongo <sqlitepath> <mongo uri> [<mongo database>]


0

您可以使用3T MongoChef工具(3.2+版本)轻松地导入sqlite CSV文件。

  1. 您只需要选择集合
  2. 选择要导入的文件
  3. 您还可以取消选择要导入的数据。还有许多选项可供选择。
  4. 集合已导入

请参见如何导入视频


1
这是一则付费产品的广告。 - Robert Smith
1
抱歉,我不是想做广告。当时是免费的。您可以查看当时的Twitter链接。@RobertSmith。 - Somnath Muluk

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接