【发布时间】:2016-07-13 18:28:46
【问题描述】:
我无法弄清楚如何将 csv 数据上传到我的 MongoLab 数据库。在我使用过的终端上
sudo mongoimport --db heroku_hkr86p3z -u <dbusername> -p <dbpassword> --collection contributors --type csv --headerline --file /Users/tonywinglau/Desktop/independent-expenditure.csv
和
sudo mongoimport --host mongodb://<username>:<password>@ds035310.mlab.com:35310/heroku_hkr86p3z --db heroku_hkr86p3z -u <username> -p <password> --collection contributors --type csv --headerline --file /Users/tonywinglau/Desktop/independent-expenditure.csv
两者都以
响应Failed: error connecting to db server: no reachable servers
imported 0 documents
从我所读的内容来看,这可能与我的“mongo config”文件(如果确实存在,我找不到它)被设置为仅与 localhost 连接有关吗?如何将数据直接导入我的 mongolab 托管数据库?
【问题讨论】:
-
这对于stackoverflow来说并不是一个真正的问题,尽管人们可能已经放弃了类似的尝试并对此做出了类似的回应。这当然意味着主机要么有错误的名称,要么根本没有在运行。我可以
ping主持人,所以名字看起来不错。但是我应该能够做到mongo mongodb://ds03510.mlab.com:3510并获得连接(即使没有经过身份验证),但我不能。这意味着数据库实例未运行或当前防火墙规则不允许从公共 Internet 连接。同样的原因是您无法连接的原因。 -
你能连接到
mongoshell 吗? docs.mlab.com/connecting/#help -
是的,我可以连接外壳。问题是 mongo import 应该在 shell 之外运行。现在我只是想创建一个函数,可以将 csv 解析为 json,然后向我的数据库发送垃圾邮件。身份证。这只是我目前的想法。
-
@BlakesSeven sudo 不会覆盖防火墙设置吗?
-
sudo 与此无关。如果您可以连接到外壳,那么您可以连接到
mongoimport。您根本没有提供正确的选项或凭据。如果需要,当然应该有--host ds03510.mlab.com和--port 3510以及用户名和密码选项。