英文:
Importing Backup Collections with mGo
问题
我有一个来自mongodump
的BSON导出文件,还有一个mongoexport
的JSON导出文件。
使用mgo导入的最简单的方法是什么?mgo是否支持插入备份的BSON集合?
还是说我需要使用JSON导出文件,进行解组(unmarshal),然后使用mgo的insert()
方法?
问题是我不想在我的Go文件中指定模式(scheme),我只想将文件转储到数据库中。
英文:
I have a BSON export from mongodump
, and I also have a JSON export for mongoexport
What would be the easiest way to import with mgo? Does mgo support inserting a backed-up BSON collection?
Or do I need to use the JSON export, unmarshal it and then do insert()
with mgo?
Thing is that I don't want to have to specify a scheme in my Go file - I just want to dump the file into a database.
答案1
得分: 1
导入 mgo 的最简单方法是什么?
最简单的方法是从你的 Go 程序中调用 mongorestore
。搞定!
mgo 支持插入备份的 BSON 集合吗?
我没有看到它有一流的支持。(你可以给作者发电子邮件)。理论上是可以的,但可能需要一些工作。你应该能够使用 mgo 的 BSON 层加载 *.bson
文件并将其插入到数据库中。但你还需要解析 *.metadata.json
文件中的索引等信息。这似乎是一项很大的工作。(基本上是重写 mongorestore
。)
还是我需要使用 JSON 导出,解组它,然后使用 mgo 进行插入操作?
那样会更慢,并且你需要测试 $date
和 $oid
是否被正确处理,但看起来应该可以工作。甚至可能更简单,因为你不需要学习 BSON 层。
英文:
> What would be the easiest way to import with mgo?
Easiest? Shell out to mongorestore
from your go program. Boom, done.
> Does mgo support inserting a backed-up BSON collection?
I don't see any first-class support for it. (You could email the author). It should be possible, but it may be a bit of work. You should be able to use the mgo BSON layer to load the *.bson
files and insert them into the DB. But you'll also have to parse the *.metadata.json
files for the indexes, etc. It seems like a lot of work. (basically rewriting mongorestore
.)
> Or do I need to use the JSON export, unmarshal it and then do insert() with mgo?
That would be slower, and you'd have to test that $date
and $oid
are handled correctly, but it seems like it should work. It might even be simpler to write because you don't have to learn the BSON layer.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论