mongodb version v3.4.18
mongodb导出,导入数据,在powershell窗口的操作【注意:cmd和powershell略有不同,】
- 查询集合中有几条数据
> use ceshi
> db.col.find().count()
4
- 查询符合条件"tags" : [ "php" ]的数据
> db.col.find({"tags" : [ "php" ]})
{ "_id" : ObjectId("5e7db16b970264eac127c61e"), "title" : "php教程", "description" : "php是脚本语言", "by" : "菜鸟教程", "url" : "http://baidu.com", "tags" : [ "php" ], "likes" : 200 }
- 导出类型为json, 数据库:ceshi, 集合:col 字段:title,description,by,url,tags,likes 条件为tags字段为[ "php" ]的数据
在powershell窗口操作
C:\mongodb\mongodb-master\bin\mongoexport.exe -d ceshi -c col -f "title,description,by,url,tags,likes" --type=json -o C:\backup\col.csv --query='{"tags":[\"php\"]}'
在cmd窗口操作
C:\mongodb\mongodb-master\bin\mongoexport.exe -d ceshi -c col -f title,description,by,url,tags,likes --type=json -o C:\backup\coll%Date:~0,4%%Date:~5,2%%Date:~8,2%.csv --query="{"tags":['php']}"
注意:window和linux的区别,linux上执行是外面包单引号,window要外面包双引号
- 说明
-o, --out:代表导出的文件名;
-d,--db:代表连接的数据库;
-c,--collection:代表连接数据库中的集合;
-f, --fields:代表集合中的字段,可以根据设置选择导出的字段;【导出全部字段,-f参数后面 需要写全部字段】
--type:代表导出输出的文件类型,包括csv和json文件;
-q, --query:代表查询条件;
- 导入
C:\mongodb\mongodb-master\bin\mongoimport -d ceshi -c col --type=json --file C:\backup\col.csv
相关问题
- mongoexport.exe导出时报错
PS C:\> C:\mongodb\mongodb-master\bin\mongoexport.exe -d ceshi -c col -f "title,description" --type=json -o col.csv --query='{"tags":["php"]}'
error validating settings: query '[123 ... 125]' is not valid JSON: invalid character 'p' looking for beginning of value
try 'mongoexport --help' for more information
原因:DOS窗口把 “”识别成特殊字符,加\反义解决
错处:--query='{"tags":["php"]}'
正确:--query='{"tags":[\"php\"]}'