我使用Docker进行开发。
docker exec -it <My-Name> mongo
我想从JSON文件将数据导入MongoDB,但它失败了。
命令是
mongoimport -d <db-name> -c <c-name> --file xxx.json
我该怎么办?
答案 0 :(得分:9)
看来你的描述 您在主机中有一个json格式的数据文件,并且您想将此数据导入到容器中运行的mongodb中。
您可以按照以下步骤进行操作。
#>docker exec -it <container-name> mongo
#>docker cp xxx.json <container-name-or-id>:/tmp/xxx.json
#>docker exec <container-name-or-id> mongoimport -d <db-name> -c <c-name> --file /tmp/xxx.json
在最后一步中,您必须使用容器中可用的文件路径。
如果需要调试更多,您可以登录容器并按照Linux机器上的方式执行。
#>docker exec -it <container-name-or-id> sh
sh $>cat /tmp/xxx.json
sh $>mongoimport -d <db-name> -c <c-name> --file /tmp/xxx.json
答案 1 :(得分:6)
无需复制文件即可运行:
docker exec -i <container-name-or-id> sh -c 'mongoimport -c <c-name> -d <db-name> --drop' < xxx.json
答案 2 :(得分:0)
<mongodb connection uri
>“ -collection = <c-name
> --file / tmp / xxx.json“