mongoimport 錯誤 - 失敗:連接到數據庫伺服器時出錯:沒有可訪問的伺服器
我目前正在努力學習
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
當我替換時
localhost
,127.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
編號27017
,mongoimport
那麼語法將是這樣的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