mongodb導出腳本的方法:在mongodb中能夠使用mongoexport工具將一個集合導出成JSON格式或CSV格式的文件,語法格式:“mongoexport -d 數據庫 -c 集合名稱 -o 文件路徑”,該語句的參數說明:-d指明數據庫的名字、-c指明collection的名字、-o:指明到要導出的文件名。
具體內容如下:
Mongodb中的mongoexport工具可以把一個collection導出成JSON格式或CSV格式的文件。可以通過參數指定導出的數據項,也可以根據指定的條件導出數據。mongoexport具體用法如下所示:
[root@lb-vm5 bin]# ./mongoexport --helpUsage: mongoexport <options>
Export data from MongoDB in CSV or JSON format.
See http://docs.mongodb.org/manual/reference/program/mongoexport/ for more information.
general options:
--help print usage
--version print the tool version and exit
verbosity options:
-v, --verbose=<level> more detailed log output (include multiple times for more verbosity, e.g. -vvvvv, or specify a numeric value, e.g. --verbose=N)
--quiet hide all log output
connection options:
-h, --host=<hostname> mongodb host to connect to (setname/host1,host2 for replica sets)
--port=<port> server port (can also use --host hostname:port)
ssl options:
--ssl connect to a mongod or mongos that has ssl enabled
--sslCAFile=<filename> the .pem file containing the root certificate chain from the certificate authority
--sslPEMKeyFile=<filename> the .pem file containing the certificate and key
--sslPEMKeyPassword=<password> the password to decrypt the sslPEMKeyFile, if necessary
--sslCRLFile=<filename> the .pem file containing the certificate revocation list
--sslAllowInvalidCertificates bypass the validation for server certificates
--sslAllowInvalidHostnames bypass the validation for server name
--sslFIPSMode use FIPS mode of the installed openssl library
authentication options:
-u, --username=<username> username for authentication
-p, --password=<password> password for authentication
--authenticationDatabase=<database-name> database that holds the user's credentials
--authenticationMechanism=<mechanism> authentication mechanism to use
namespace options:
-d, --db=<database-name> database to use
-c, --collection=<collection-name> collection to use
output options:
-f, --fields=<field>[,<field>]* comma separated list of field names (required for exporting CSV) e.g. -f "name,age"
--fieldFile=<filename> file with field names - 1 per line
--type=<type> the output format, either json or csv (defaults to 'json')
-o, --out=<filename> output file; if not specified, stdout is used
--jsonArray output to a JSON array rather than one object per line
--pretty output JSON formatted to be human-readable
querying options:
-q, --query=<json> query filter, as a JSON string, e.g., '{x:{$gt:1}}'
--queryFile=<filename> path to a file containing a query filter (JSON)
-k, --slaveOk allow secondary reads if available (default true)
--readPreference=<string>|<json> specify either a preference name or a preference json object
--forceTableScan force a table scan (do not use $snapshot)
--skip=<count> number of documents to skip
--limit=<count> limit the number of documents to export
--sort=<json> sort order, as a JSON string, e.g. '{x:1}'
1.直接導出數據到文件中
./mongoexport -d user_center -c passport -u dev -p 123456-o passport.json//摩拜單車mongodb查詢語句導出 以201612開頭 時間小于1482170579000 狀態為RENTAL
./bin/mongoexport -d 數據庫 -c 集合 -u 用戶名 -p 密碼 -q '{bikeRentalStatus:"RENTAL",times:{$regex:/201612.*/i},systimes:{ $lt: NumberLong(1482170579000)}}' -o 1.jaon
./bin/mongoexport -d user_center -c passport -u dev -p ***** -q '{_id:{$in:[171]}}' -o 1.jaon
參數說明:
-h:指明數據庫宿主機的IP
-u:指明數據庫的用戶名
-p:指明數據庫的密碼
-d:指明數據庫的名字
-c:指明collection的名字
-f:指明要導出那些列
-o:指明到要導出的文件名
-q:指明導出數據的過濾條件
-d:指明使用的庫
-c:指明要導出的集合
-o:指明要導出的文件名
從上面的結果可以看出,我們在導出數據時沒有顯示指定導出樣式 ,默認導出了JSON格式的數據。如果我們需要導出CSV格式的數據,則需要使用–csv參數
./mongoexport -d user_center -c user_name -u dev -p 123456 --csv -o user_name.json