要在MongoDB中导入一个大型JSON数据集,我们有mongoimport实用程序,它的工作方式如下:
mongoimport --host xxx.xxx.xxx.xxx --db destination-db -c tags < tmp/source-file.json
有没有办法使用MongoID调用'mongoimport',MongoDB的ruby Object-Document-Mapper?
由于 卢卡
答案 0 :(得分:2)
Mongoid实际上是Ruby驱动程序的包装器。 Ruby驱动程序应该允许您运行任何数据库命令。
但是,mongoimport
不是命令。 mongoimport
是一个单独的二进制(或可执行)文件。
从Ruby运行mongoimport
的唯一方法是“shell out”。通常,这涉及使用某种形式的exec
命令。这是running shell commands from Ruby的第一个搜索链接。
答案 1 :(得分:1)
您还可以解析文件中的JSON,然后直接在rake任务中运行Model.create(json_obj)
和Mode.save
。