MongoDB导出工具mongoexport在复杂查询条件下的使用

1.mongoexport工具

mongoexport工具,即:mongoexport.exe

位于mongo/bin目录下:

2.使用 

在cmd.exe中进入安装mongo的bin目录,比如我的:cd D:\mongoDB\mongoDB\bin

在此目录下就可以使用mongoexport的命令进行数据导出操作了。

例如我们可以查看mongoexport的命令使用参数,在bin目录下输入:mongoexport --help (注意是两个"-")

我们可以看到具体的参数解释,这里简要说明一下:

参数说明:

-h:指明数据库宿主机的IP

-u:指明数据库的用户名

-p:指明数据库的密码

-d:指明数据库的名字

-c:指明collection的名字

-f:指明要导出那些列

-o:指明到要导出的文件名

-q:指明导出数据的过滤条件

3.复杂条件查询

我们在可视化工具中进行较复杂的查询时,一般这样写:

db.getCollection('rungps').find({"user_id":"98805835","sport_id":"989292c0"})

查询条件为一个json:{"user_id":"98805835","sport_id":"989292c0"}。我们注意到上面的参数 -q(指明导出数据的过滤条件),我们在-q参数后面可以跟一个json,作为导出数据的过滤条件。但是我在导出过程中出现了问题。

我的语句1:

mongoexport -h xxx --port xx -u xx -p xx -d xx -c xx --type=json   -q {"user_id":"98805835"} -o D:\mongoDataJson\run.json

报错:

我的语句2:mongoexport -h xxx --port xx -u xx -p  xx -d xx -c xx --type=json -q{"user_id":"98805835","sport_id":"989292c0xx"} -out D:\mongoDataJson\run.json

报错:

出现问题的原因,可能是json在shell(cmd.exe)中格式不对,因此我采用读取文件中的json的方式。

我在路径D:\mongoDataJson中创建txt文件:query.txt。在里面写入json:

 

执行语句:

mongoexport -h xx --port xx -u xx -p  xx -d xx -c xx --type=json  --queryFile D:\mongoDataJson\query.txt -o D:\mongoDataJson\run.json 

完成导入数据到run.json的任务。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章