最近运营叫导数据,问题是有些数据是在mongodb里面的,有些数据是在mysql里面的,由于连接不上正式环境的mongodb,所以需要把正式环境的mongodb的备份数据导入本地,再把查询结果导出来,再导入mysql连接查询,得到最后结果。 以下为windows系统的操作 先下载mongodb的备份文件到本地,主要含有两个文件:PageViewLogMongo.metadata.json和PageViewLogMongo.bson文件。 把备份文件导入到本地mongodb中,打开cmd,进入mongodb的目录下 cd C:\Program Files\MongoDB\Server\4.0\bin mongorestore.exe -d db_name E:\cshop_mongo_db 注:(db_name)是表名,后面试备份文件的目录 相应的查询语句为:db.PageViewLogMongo.aggregate([ { $match:{ type: "UserVisit", userId:{$ne:null}, timeStr:{$regex:/2019-02-19/}, } }, { $group:{ _id: "$darenId", count: {$sum:1} } }, ]) .forEach( function(document) { print(document._id + "," + document.count ); }) forEach前是查询语句,forEach部分是把查询结果打印出来 把这段代码保存为一份js文件 在mongodb目录下中执行命令 mongo.exe localhost:27017/db_name E:\asd.js > E:\result.csv (localhost:27017/db_name)对应mongodb的地址/接口/数据库名 (E:\asd.js)对应查询代码的路径文件 (E:\result.csv)对应输出接口的路径和文件名