通过Ruby导入MongoDb集合(ROR)

时间:2011-02-01 21:40:33

标签: ruby-on-rails mongodb seed rake-task

我正在尝试使用通过mongoexport工具导出的集合来构建我的数据库,但我似乎无法找到通过Ruby使用mongoimport工具的任何方法。

我查看了Mongo Driver如何通过Ruby执行mongo查询,并考虑从导出中遍历json的每一行,但是有一些像“$ oid”这样的键在尝试时会出错一个collection.insert()

是否可以在Ruby中使用mongoimport工具,或者将哪些代码添加到seeds.rb以便导入mongo集合的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

mongoimport工具实际上是一个命令行工具。因此,您不要使用Mongo驱动程序。

相反,你应该“炮轰”并调用该过程。这是从shell调用命令的链接。

Calling shell commands from Ruby

答案 1 :(得分:0)

mongoexport以MongoDB文档中指定的扩展json格式导出文档。

http://www.mongodb.org/display/DOCS/Mongo+Extended+JSON

驱动程序不会自动读取此格式。为了播种数据库,您可能希望使用mongodump和mongorestore,它们使用数据库的本机BSON格式。正如另一张海报所提到的,你可以很容易地做到这一点。