Mongodb

mongoimport 錯誤 - 失敗:連接到數據庫伺服器時出錯:沒有可訪問的伺服器

  • August 27, 2019

我目前正在努力學習MongoDB,但無法找到解決此問題的方法。當我執行mongoimport命令時,我收到以下錯誤:

~ mongoimport --host localhost --port 27017 --db test --collection people --file ~/Downloads/mongodb-consultas.json --jsonArray
2015-09-27T20:46:03.228-0600    [........................] test.people  0.0 B/684.2 KB (0.0%)
2015-09-27T20:46:03.745-0600    Failed: error connecting to db server: no reachable servers
2015-09-27T20:46:03.745-0600    imported 0 documents

當我替換時localhost127.0.0.1我收到以下錯誤:

~  mongoimport --host 127.0.0.1 --port 27017 --db test --collection people --file ~/Downloads/mongodb-consultas.json --jsonArray
2015-09-28T15:15:42.047-0600    connected to: 127.0.0.1:27017
2015-09-28T15:15:42.049-0600    Failed: error reading separator after document #1: bad JSON array format - found no opening bracket '[' in input source
2015-09-28T15:15:42.049-0600    imported 0 documents

我嘗試導入的文件沒有損壞,因為我從 MongoDB 教程中獲得了它,並且它正在為其他使用者工作。

我的 MongoDB shell 版本是 3.0.6。

我有一個在命令行中MongoDB執行的伺服器。mongod該命令mongo也執行良好。

我的防火牆允許 MongoDB 的傳入連接。

我已經完成了錯誤並檢查了,問題是用 mongoimport 語法抵抗。mongoimport shell 找不到 ( .json) 文件的位置。

還有像–jsonArray這樣的錯誤。

根據MongoDB BOL –jsonArray修改輸出mongoexport以將導出的全部內容寫入單個JSON數組。預設情況下,每個文件mongoexport使用一個文件寫入數據。 JSON``MongoDB

**注意:-接受單個數組import中的多個文件表示的數據僅限於16 MB或更小的導入MongoDB``JSON

對於簡單的 mongoimport 語法將是這樣的

mongoimport -d databasename -c collectionname (File Location of json file.json)

例如

mongoimport -d test -c zips C:\MongoDBDBA\zips.json

2018-02-07T08:32:31.084+0300    connected to: localhost
2018-02-07T08:32:31.532+0300    imported 29353 documents

在上述mongoimport語法中,數據庫名稱是test,集合名稱是zips,並且C:\MongoDBDBA\zips.json是 ( .json) 文件位置。

例如本地主機和埠號 27017

如果您想使用localhost預設port編號27017mongoimport那麼語法將是這樣的

mongoimport --host localhost --port 27017 -d blog -c posts C:\MongoDBDBA\posts.json

2018-02-07T10:48:54.340+0300    connected to: localhost:27017
2018-02-07T10:48:56.333+0300    [########################] blog.posts   33.9MB/33.9MB (100.0%)
2018-02-07T10:48:56.345+0300    [########################] blog.posts   33.9MB/33.9MB (100.0%)
2018-02-07T10:48:56.346+0300    imported 1000 documents

在上面的語法中,這裡blog是數據庫名稱,集合名稱是posts.

最重要的注意事項:-mongoimport系統命令行執行,而不是mongo shell.

供您進一步參考這裡

檢查 localhost 是否從命令提示符獲取 telnet。

$ telnet localhost 27017

如果沒有連接,請檢查/etc/hosts您的機器。

它應該有未註釋的條目 127.0.0.1 localhost

引用自:https://dba.stackexchange.com/questions/116386