2014-04-06 56 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