小编给大家分享一下导出mongodb里数据的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

一、Mongodb导出工具mongoexport

Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式(类似于表格的形式)的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。

mongoexport具体用法

C:\mongo\bin>mongoexport-helpoptions:--helpproducehelpmessage-v[--verbose]bemoreverbose(includemultipletimesformoreverbositye.g.-vvvvv)-h[--host]argmongohosttoconnectto(<setname>/s1,s2forsets)--portargserverport.Canalsouse--hosthostname:port--ipv6enableIPv6support(disabledbydefault)-u[--username]argusername-p[--password]argpassword--dbpathargdirectlyaccessmongoddatabasefilesinthegivenpath,insteadofconnectingtoamongodserver-needstolockthedatadirectory,socannotbeusedifamongodiscurrentlyaccessingthesamepath--directoryperdbifdbpathspecified,eachdbisinaseparatedirectory-d[--db]argdatabasetouse-c[--collection]argcollectiontouse(somecommands)-f[--fields]argcommaseparatedlistoffieldnamese.g.-fname,age--fieldFileargfilewithfieldsnames-1perline-q[--query]argqueryfilter,asaJSONstring--csvexporttocsvinsteadofjson-o[--out]argoutputfile;ifnotspecified,stdoutisused--jsonArrayoutputtoajsonarrayratherthanoneobjectperLine

参数说明:

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

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

-p:指明数据库的密码

-d:指明数据库的名字

-c:指明collection的名字

-f:指明要导出那些列

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

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

二、常用数据导出实例

1、直接导出数据到文件中

代码如下:

[root@localhostbin]#./mongoexport-dmy_mongodb-cuser-ouser.datconnectedto:127.0.0.1exported2records[root@localhostbin]#catuser.dat{"_id":{"$oid":"4f81a4a1779282ca68fd8a5a"},"uid":2,"username":"Jerry","age":100}{"_id":{"$oid":"4f844d1847d25a9ce5f120c4"},"uid":1,"username":"Tom","age":25}[root@localhostbin]#

命令执行完后使用命令查看,会发现目录下生成了一个students.dat的文件

参数说明:

-d 指明使用的库, 本例中为” my_mongodb”

-c 指明要导出的表, 本例中为”user”

-o 指明要导出的文件名, 本例中为”user.dat”

从上面可以看到导出的方式使用的是JSON 的样式

2、将foo库中的表t1导出成json格式

代码如下:

[root@localhostbin]#./mongoexport-dfoo-ct1-o/data/t1.jsonconnectedto:127.0.0.1exported1records[root@localhostbin]#

导出成功后我们看一下/data/t1.json文件的样式

代码如下:

root@localhostdata]#moret1.json{"_id":{"$oid":"4f927e2385b7a6814a0540a0"},"age":2}[root@localhostdata]#

3、导出为CSV格式的数据

代码如下:

[root@localhostbin]#./mongoexport-dfoo-ct2--csv-fage,name-o/data/t2.csvconnectedto:127.0.0.1exported1records[root@localhostbin]#

查看/data/t2.csv的导出结果

代码如下:

mongoexport-h10.100.30.130--port27017-dzhongtudao-chand_result--type=csv-fdatetime,url,show_count,click_count-q'{datetime:"20170402"}'-o./20170402.csv

4、指定过滤条件导出数据:

-q 参数的使用方法是:-q '{key:"value"}'

代码如下:

mongoexport-h10.100.30.130--port27017-dzhongtudao-chand_result--type=csv-fdatetime,url,show_count,click_count-q'{datetime:"20170402"}'-o./20170402.csv

看完了这篇文章,相信你对导出mongodb里数据的方法有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!