我正在尝试通过命令行将示例json或csv文件导入mongodb。我是mongodb的新手,我尝试了很多堆栈溢出问题&与此相关的答案,但我无法解决这个问题。我能够连接到mongo shell就好了。我能够看到数据库列表,集合,通过db.collection_name.insert()...等插入小数据。这意味着连接正常。
然而,当我尝试做“mongoimport'它抛出一个错误,“失败:错误连接到数据库服务器:没有可达的服务器'。不知道为什么mongoshell正在连接而mongoimport通过命令行不起作用?谢谢!
c0212747agahefweadgadfa:mongo_test user$ mongoimport -h "mongodb+srv://datadatadataname/testdb" --username abcd --db movies --drop --collection ratings --file ratings.json --jsonArray -v
filesize: 10000 bytes
using fields:
[........................] movies.ratings 0B/939B (0.0%)
[........................] movies.ratings 0B/939B (0.0%)
Failed: error connecting to db server: no reachable servers
imported 0 documents
答案 0 :(得分:1)
--host, -h
选项不采用方案(例如mongodb+srv://
)或数据库名称(例如/testdb
)。请在此处查看-h
标记的文档:https://docs.mongodb.com/manual/reference/program/mongoimport/#cmdoption-mongoimport-host
尝试:
mongoimport -h host:port --username abcd --db movies --drop --collection ratings --file ratings.json --jsonArray -v
如果您发现使用完整连接字符串更容易,可以使用--uri
选项(https://docs.mongodb.com/manual/reference/program/mongoimport/#cmdoption-mongoimport-uri)。