Section 22.1: 本地默认 mongod 实例的基本 mongodump

mongodump --db mydb --gzip --out "mydb.dump.$(date +%F_%R)"

这条命令会将本地 mongod mydb 数据库的 bson gzip 压缩包转存到 mydb.dump.{timestamp} 目录中。

Section 22.2: 本地默认 mongod 转储的基本 mongorestore

mongorestore --db mydb mydb.dump.2016-08-27_12:44/mydb --drop --gzip

此命令将首先删除当前的 mydb 数据库,然后从 mydb mydb.dump.2016-08-27_12:44/mydb 存档转储文件中还原经过压缩的 bson 转储。

Section 22.3: 使用 JSON 的 mongoimport

zipcodes.json 中的邮编数据集样本存储在 c:\Users\yc03ak1\Desktop\zips.json 中

{ "_id" : "01001", "city" : "AGAWAM", "loc" : [ -72.622739, 42.070206 ], "pop" : 15338, "state" : "MA" }
{ "_id" : "01002", "city" : "CUSHMAN", "loc" : [ -72.51564999999999, 42.377017 ], "pop" : 36963, "state" : "MA" }
{ "_id" : "01005", "city" : "BARRE", "loc" : [ -72.10835400000001, 42.409698 ], "pop" : 4546, "state" : "MA" }
{ "_id" : "01007", "city" : "BELCHERTOWN", "loc" : [ -72.41095300000001, 42.275103 ], "pop" : 10579, "state" : "MA" }
{ "_id" : "01008", "city" : "BLANDFORD", "loc" : [ -72.936114, 42.182949 ], "pop" : 1240, "state" : "MA" }
{ "_id" : "01010", "city" : "BRIMFIELD", "loc" : [ -72.188455, 42.116543 ], "pop" : 3706, "state" : "MA" }
{ "_id" : "01011", "city" : "CHESTER", "loc" : [ -72.988761, 42.279421 ], "pop" : 1688, "state" : "MA" }

将此数据集导入名为 “test ”的数据库和名为 “zips ”的数据集

C:\Users\yc03ak1>mongoimport --db test --collection "zips" --drop --type json --host
"localhost:47019" --file "c:\Users\yc03ak1\Desktop\zips.json"

--db : 要导入数据的数据库名称

--collection: 要导入数据的数据库中的集合名称

--drop : 在导入之前先删除集合

--type : 需要导入的文档类型,默认为 JSON

--host : 要导入数据的 mongodb 主机和端口。

--file : json 文件所在路径

输出:

2016-08-10T20:10:50.159-0700 connected to: localhost:47019
2016-08-10T20:10:50.163-0700 dropping: test.zips
2016-08-10T20:10:53.155-0700 [################........] test.zips 2.1 MB/3.0 MB (68.5%)
2016-08-10T20:10:56.150-0700 [########################] test.zips 3.0 MB/3.0 MB (100.0%)
2016-08-10T20:10:57.819-0700 [########################] test.zips 3.0 MB/3.0 MB (100.0%)
2016-08-10T20:10:57.821-0700 imported 29353 documents

Section 22.4: 使用 CSV 的 mongoimport

存储在 c:\Users\yc03ak1\Desktop\testing.csv 位置的示例测试数据集 CSV 文件

_id city loc pop state
1 A [10.0, 20.0] 2222 PQE
2 B [10.1, 20.1] 22122 RW
3 C [10.2, 20.0] 255222 RWE
4 D [10.3, 20.3] 226622 SFDS
5 E [10.4, 20.0] 222122 FDS

将此数据集导入名为 “test ”的数据库和名为 “sample ”的数据集

C:\Users\yc03ak1>mongoimport --db test --collection "sample" --drop --type csv --headerline --host
"localhost:47019" --file "c:\Users\yc03ak1\Desktop\testing.csv"

--headerline : 使用 csv 文件的第一行作为 json 文档的字段

输出:

2016-08-10T20:25:48.572-0700 connected to: localhost:47019
2016-08-10T20:25:48.576-0700 dropping: test.sample
2016-08-10T20:25:49.109-0700 imported 5 documents

OR

C:\Users\yc03ak1>mongoimport --db test --collection "sample" --drop --type csv --fields
_id,city,loc,pop,state --host "localhost:47019" --file "c:\Users\yc03ak1\Desktop\testing.csv"

--fields : 需要导入 json 文档的字段列表,以逗号分隔。

输出:

2016-08-10T20:26:48.978-0700 connected to: localhost:47019
2016-08-10T20:26:48.982-0700 dropping: test.sample
2016-08-10T20:26:49.611-0700 imported 6 documents