MongoDB使用命令行导出数据

平时使用MongoDB数据库都是使用图形化界面进行查询和导出Navicat Premium 12,生产上运维没有开放出来外网端口,因此只能通过命令行导出。

新建需要执行的脚本

这里随机拿了一个表进行测试
最重要的脚本里面的print函数,主要通过print函数进行打印,然后把打印的结果输入到一个文件里面。
这里的案例脚本使用了条件查询和分组、

db.getCollection('test').aggregate([
    
    {
        '$match': {
            'reqTime': {
                "$gte": '20200308000000000',
                "$lte": '20200309000000000'
 
            },
            'respCode': {
                "$ne": '0000'
            }
        }
    },
    {
        '$group': {
            '_id': {
                respCode: '$respCode',
                respDesc: '$respDesc'
            },
             num_tutorial: {
                $sum: 1
            }
        }
    }
]).forEach(
    function(document) {
        print(document._id.respCode +","+document._id.respCode+ "," + document.num_tutorial);
    }
)

执行命令

在安装MongoDB的机器上执行命令,选择自己的脚本存放的位置,通过>指定输出的文件路劲,执行成功之后就可以看结果了。

 mongo localhost:27017/qtpay /home/mongod/log/query.js > /home/mongod/log/result.csv
发布了188 篇原创文章 · 获赞 34 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/u010316188/article/details/104750997