Json 通过MongoID在MongoDB中导入大型数据集
要在MongoDB中导入大型JSON数据集,我们有mongoimport实用程序,其工作原理如下: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标记
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对象文档映射器
谢谢
LucaMongoid实际上是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”)