关于mongodb导出数据的记录


背景:

    在平时软件研发过程当中,使用mongodb数据库可视化连接工具 NoSQLBooster for MongoDB,

这个工具呢,导入导出觉得比较方便,但是一段时间过后,这个工具的部分功能会失效,比如导入导出。

然后呢,就自己写了一个导入导出工具,但是导出的单位是collection。不能根据查询条件去导出相应数据。

今天就说一下使用mongoexport命令导出数据的方式,因为自己踩坑,所以记录一下。

先上正确命令:

mongoexport -u user01 -p Admin@XXXX  --host=10.53.122.xxx --port=27017 --authenticationDatabase=base_twatcher -d base_twatcher -c REAL_DATA -q "{\"runId\":2,\"time\":{\"$gte\":1648692000000,\"$lte\":1648695600000}}" --out=D:/mongo_exports/REAL_DATA.json --jsonArray

其中-q这个参数,做一下详细解释。

这块在写的时候,经历好多次错误,因为是直接在连接工具处写的,想着复制过来查询条件能直接使用,但是不行。

-q {runId:2,time:{$gte:1648692000000,$lte":1648695600000}}   这种的不行

然后我加上双引号,还是不行。-q "{runId:2,time:{$gte:1648692000000,$lte":1648695600000}} "

然后就下面这种-q ‘{runId:2,time:{$gte:1648692000000,$lte":1648695600000}} ’,还是不行

然后还想着给$符号转义,各种尝试把,最终还是试出来了,就是开头那个命令了,大家谨记。