Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 通过MongoID在MongoDB中导入大型数据集_Json_Mongodb_Mongoid_Nosql - Fatal编程技术网

Json 通过MongoID在MongoDB中导入大型数据集

Json 通过MongoID在MongoDB中导入大型数据集,json,mongodb,mongoid,nosql,Json,Mongodb,Mongoid,Nosql,要在MongoDB中导入大型JSON数据集,我们有mongoimport实用程序,其工作原理如下: mongoimport --host xxx.xxx.xxx.xxx --db destination-db -c tags < tmp/source-file.json mongoimport--host xxx.xxx.xxx.xxx--db destination db-c标记

要在MongoDB中导入大型JSON数据集,我们有mongoimport实用程序,其工作原理如下:

mongoimport --host xxx.xxx.xxx.xxx --db destination-db -c tags < tmp/source-file.json
mongoimport--host xxx.xxx.xxx.xxx--db destination db-c标记
有没有一种方法可以使用MongoID调用“mongoimport”,MongoDB的ruby对象文档映射器

谢谢
Luca

Mongoid实际上是Ruby驱动程序的包装器。Ruby驱动程序应该允许您运行任何数据库命令

但是,
mongoimport
不是命令
mongoimport
是一个单独的二进制(或可执行)文件


从Ruby运行
mongoimport
的唯一方法是“shell out”。通常这涉及使用某种形式的
exec
命令。这里是的第一个搜索链接。

您也可以从文件中解析JSON,只需运行
Model.create(JSON_obj)
模式。直接在rake任务中保存

您想这样做的原因是什么?为了将“业务逻辑”体现到rails应用程序中,避免在crontab或其他程序中使用“外部”shell命令,这变得依赖于平台。例如,您将如何使用mongoimport whith Heroku?因此,您在某处有一个导出(通过哪个流程?),并且您希望使用代码而不是实用工具导入该导出?我想从外部API提供程序“获取”一个json文档,将json直接存储到MongoDB中,使用我的带有MongoID界面的Rails应用程序…我也想知道如何做到这一点。在过去,我只是在rails中执行了一个系统命令(
`mongoimport`
),但这种解决方案还远远不够理想。我终于让作业运行系统(“mongoimport--host localhost--db myDB--collection repo--file tags.json-f repositories”)