mongodb - MongoDB:如何正确地将集合从 MongoDB 导出到我的计算机?
问题描述
鉴于以下数据库和相关集合scows.tasks,我如何导出 2GB 以用于存储目的以便腾出空间?
我一直在尝试使用各种方法来做到这一点,但没有一种方法奏效:
mongoexport --verbose --db scows --collection tasks --out tasks.json --verbose
mongoexport -vvvv --db scows --username='my_username' --password='my_passwd' --collection tasks --out /home/to/Desktop/storageMongo/tasks.json -f 'my_passwd'
mongoexport --host=127.0.0.1 --db scows --collection tasks --out tasts.json
在这样做时,我总是遇到同样的错误:
2020-02-13T12:55:17.183-0500 将侦听 SIGTERM、SIGINT 和 SIGKILL 2020-02-13T12:55:20.690-0500 连接到数据库服务器时出错:没有可访问的服务器
我用来解决问题的帖子,但不幸的是并没有帮助我:
1)我用了这个,但什么也没发生
2)这也与上述结果相同
3)这个来源很有用,但没有帮助我找出问题所在
4)最后这个可以帮助我执行命令,但我总是遇到同样的错误。
5)也正如官方文档中提到的,我使用我的Ubuntu 18.04
shell作为终端来输入命令而不是mongo
shell。
如何正确地将集合从 MongoDB 导出到我的计算机?
解决方案
尝试建议的选项之一(Ubuntu 终端):
#localhost:27017 security disabled
mongoexport --db scows --collection tasks --out /tmp/tasks.json
#some_ip:some_port security disabled
mongoexport --host="some_ip:some_port" --db scows --collection tasks --out /tmp/tasks.json
#some_ip:some_port security enabled
mongoexport --host="some_ip:some_port" --username=user --password=pass --db scows --collection tasks --out /tmp/tasks.json
这会将 JSON 文件(无压缩)导出到/tmp目录
但是如果你用mongodump
命令导出,你可以压缩你导出的数据
mongodump --host="some_ip:some_port" --username=user --password=pass --db scows --collection tasks --gzip --out /tmp
这会将 BSON 结构化文件(压缩)导出到/tmp/scows目录
编辑:从 MongoDB Atlas 导出,使用这个:
mongoexport --uri="mongodb+srv://username:password@vessel-tracker-cluster-x2lpw.mongodb.net/scows" --collection tasks --out /tmp/tasks.json
2020-02-13T20:20:51.387+0100 connected to: mongodb+srv://[**REDACTED**]@vessel-tracker-cluster-x2lpw.mongodb.net/scows
2020-02-13T20:20:52.522+0100 [........................] scows.tasks 0/XXX (0.0%)
2020-02-13T20:20:52.642+0100 [########################] scows.tasks XXX/XXX (100.0%)
2020-02-13T20:20:52.643+0100 exported XXX records
编辑 2:用户有忽略 --uri 参数并连接到本地主机的 DNS 问题。将公共 DNS 添加到resolve.conf, mongoexport 能够导出数据
推荐阅读
- r - 在 facet_wrap ggplot2 中控制 x-labels
- javascript - 这些是逻辑运算符吗?
- r - 如何将yyyy-mm格式的字符转换为日期r
- spring-integration - 未能创建 SFTP 会话
- android - Android Studio 布局 xml 文件代码从默认值自动更改
- file - 使用带有共享文件指针的 MPI-IO 将巨大的数组写入单个文件
- reactjs - 我应该将 access_token 存储在 localStorage+Redux 中还是 axios 默认值中?
- r - 如何根据另一个数据帧对一个数据帧执行操作?
- scala - 如何在 Spark 中使用 from_json() 数据框?
- woocommerce - 如何保存个人资料图片并在编辑帐户页面 woo-commerce 中显示