2014-04-06 28 views
0

备份收集我有一个mongodump BSON出口,而且我也有mongoexport导入带有MGO

一个JSON出口会有什么用氧化镁导入最简单的方法? mgo是否支持插入备份的BSON集合?

或者我是否需要使用JSON导出,解组,然后使用mgo执行insert()

事情是,我不想在我的Go文件中指定方案 - 我只是想将文件转储到数据库中。

回答

1

用mgo导入最简单的方法是什么?

最简单吗?从转到mongorestore程序。繁荣,完成。

mgo是否支持插入备份的BSON集合?

我没有看到任何一流的支持。 (您可以通过电子邮件发送作者)。它应该是可能,但它可能有点工作。您应该能够使用mgo BSON层来加载*.bson文件并将它们插入到数据库中。但是,你还必须解析索引的*.metadata.json文件等。它看起来像很多工作。 (基本上重写mongorestore。)

或者我是否需要使用JSON导出,解组,然后用mgo插入()?

这将是慢,你必须测试$date$oid正确处理,但似乎它应该工作。它可能更简单,因为你不必学习BSON层。

+0

因此,我现在实际上正在脱壳,但我不是该解决方案的最大粉丝,因为它取决于与go程序存在于同一个盒子上的可执行文件(除非我使用安装了它的盒子进行ssh操作)宁可不做)。感谢您的详细回复! – K2xL

+0

还有一件事:您还可以停止mongo,并压缩原始数据库文件。然后你可以在没有脱壳的情况下将它们解压。 (你仍然必须停止mongo并重新启动它,但你可能已经这么做了。) – BraveNewCurrency

+0

我正在尝试第三种方法,但是我无法弄清楚如何解组非结构json。我只想用mgo插入JSON :-( – K2xL