平时使用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