mongos.md 5.3 KB

##MongoDB导出数据

bin/mongoexport --host 192.168.1.15:40000 -d nsmongo -c userNoBaseInfo -f userId --csv -o ./userNoBaseInfo.csv

##MongoDB 备份数据库

bin/mongodump -h 192.168.1.107:40000 -d nsmongo -c postStore -q {"createdAt" : {"$gte": new Date(2013,4,1,0,0,0), "$lt" : new Date(2013, 5, 1, 0, 0, 0)}} -o /data/back/

bin/mongodump --help
--help                                produce help message
-v [ --verbose ]                      be more verbose (include multiple times
                                    for more verbosity e.g. -vvvvv)
--version                             print the program's version and exit
-h [ --host ] arg                     mongo host to connect to ( <set 
                                    name>/s1,s2 for sets)
--port arg                            server port. Can also use --host 
                                    hostname:port
--ipv6                                enable IPv6 support (disabled by 
                                    default)
-u [ --username ] arg                 username
-p [ --password ] arg                 password
--authenticationDatabase arg          user source (defaults to dbname)
--authenticationMechanism arg (=MONGODB-CR)
                                    authentication mechanism
--dbpath arg                          directly access mongod database files 
                                    in the given path, instead of 
                                    connecting to a mongod  server - needs 
                                    to lock the data directory, so cannot 
                                    be used if a mongod is currently 
                                    accessing the same path
--directoryperdb                      each db is in a separate directly 
                                    (relevant only if dbpath specified)
--journal                             enable journaling (relevant only if 
                                    dbpath specified)
-d [ --db ] arg                       database to use
-c [ --collection ] arg               collection to use (some commands)
-o [ --out ] arg (=dump)              output directory or "-" for stdout
-q [ --query ] arg                    json query
--oplog                               Use oplog for point-in-time 
                                    snapshotting
--repair                              try to recover a crashed database
--forceTableScan                      force a table scan (do not use 
                                    $snapshot)

mongodump -h dbhost -d dbname -o dbdirectory
  • -h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
  • -d:需要备份的数据库实例,例如:test
  • -o:备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。

##MongoDB 恢复数据库

mongorestore -h 192.168.1.107 -p 40000 --d nsmongo -c postStore --directoryperdb /data/back/nsmongo

bin/mongorestore --help
-h [ --host ] arg                     mongo host to connect to ( <set name>/s1,s2 for sets)
--port arg                            server port. Can also use --host hostname:port
--ipv6                                enable IPv6 support (disabled by default)
-u [ --username ] arg                 username
-p [ --password ] arg                 password
--authenticationDatabase arg          user source (defaults to dbname)
--authenticationMechanism arg (=MONGODB-CR) authentication mechanism
--dbpath arg                          directly access mongod database files 
                                    in the given path, instead of 
                                    connecting to a mongod  server - needs 
                                    to lock the data directory, so cannot 
                                    be used if a mongod is currently 
                                    accessing the same path
--directoryperdb                      each db is in a separate directly (relevant only if dbpath specified)
--journal                             enable journaling (relevant only if dbpath specified)
-d [ --db ] arg                       database to use
-c [ --collection ] arg               collection to use (some commands)
--objcheck                            validate object before inserting (default)
--noobjcheck                          don't validate object before inserting
--filter arg                          filter to apply before inserting
--drop

mongorestore -h dbhost -d dbname --directoryperdb dbdirectory
  • -h:MongoDB所在服务器地址
  • -d:需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
  • --directoryperdb:备份数据所在位置,例如:c:\data\dump\test,这里为什么要多加一个test,而不是备份时候的dump,读者自己查看提示吧!
  • --drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用