1. 程式人生 > >MongoDB之資料匯出

MongoDB之資料匯出

今天要匯出伺服器上MongoDB的資料,期間遇到多個問題,因此記錄一下。

1. Auth Failed

使用圖形化工具能夠連線到遠端MongoDB,但是使用mongo命令連線不上。

錯誤資訊

這裡寫圖片描述

出錯原因

遠端MongoDB是3.x,本地版本是2.x,版本太低,所以需要把本地MongoDB版本升級或者重灌3.x版本。

2. Authentication failed

錯誤資訊

這裡寫圖片描述

出錯原因

MongoDB自3.x開始開啟了SCRAM-SHA-1認證,需要在命令中帶上--authenticationMechanism='SCRAM-SHA-1'

正確的匯出命令

./mongoexport --authenticationDatabase=db -h 127.0.0.1 --port 27017 -u admin -p 'admin' --authenticationMechanism='SCRAM-SHA-1' -d db -c Place -f ident -q '{published:true}' --type=csv -o ident.csv

其中某些引數含義:
authenticationDatabase:資料庫名
authenticationMechanism:使用SCRAM-SHA-1認證
-c:代表某個Collection名
-f

:代表要輸出的Collection的欄位名,多個欄位時使用分割
-q:代表過濾條件,是MongoDB的過濾語法

另附匯入命令

./mongoexport --authenticationDatabase=db -h 127.0.0.1 --port 27017 -u username -p password --authenticationMechanism='SCRAM-SHA-1' -d db -c CollectonName -o name.csv