mongo 数据导出到mysql 以及常用查询

本文介绍MongoDB数据导出及MySQL数据导入的方法,包括使用mongoexport导出特定集合的部分列到CSV文件,以及通过MySQL工具和LOAD DATA INFILE命令导入数据。同时,还涵盖了MongoDB查询操作,如按时间范围查询、去重统计等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导出指定db的指定集合部分列数据到csv

mongoexport -d dbs_name -c collection_name --csv -f 列名,列名 -o /home/record.csv 

在mysql中创建表,可以通过两种方式导入

1:通过mysql工具导入

2: 通过load data导入

LOAD DATA INFILE 'f:/Book1.csv'
 INTO TABLE Test_Book1
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' l
nes terminated by '\r\n';

mongo登陆:

db.auth('userName','userpassword');

按照时间查询指定时间内的记录

db.record_20151215.find({"startTime":{$gte:new Date("12/15/2015"),$lt:new Date("12/16/2015")}});


统计指定时间内的条数

db.record_20151215.find({"startTime":{$gte:new Date("12/15/2015"),$lt:new Date("12/16/2015")}}).count()

按照时间和用户Id 查询 method,以及子对象的user_id 两列

db.record_20151215.find({'startTime':{'$gte':new Date("12/20/2015"),'$lt':new Date("12/21/2015")},
"obj.user_id":1027270}, {"method": 1, "obj.user_id":1});

去重复的user_id

db.record_20151215.distinct("user_id");

去重复的user_id count

db.record_20151215.distinct("user_id").length;

根据条件查询并去重复

db.record_20151215.distinct("user_id",{"user_id":1027270});

根据user_id分组group 统计 

db.record_20151215.group({key:{user_id:true},initial:{ct:0},$reduce:function(doc,prev){ prev.ct++}})

根据条件查询,并且按照user_id分组group

db.record_20151215.group({key:{user_id:
true}, initial:{ct:0},$reduce:function(doc,prev){prev.ct++},condition:{"user_id":1027270}})

根据条件用where查询,并且按照user_id分组group

db.record_20151215.group({
key:{user_id:true}, key是指要分组查询的列
initial:{num:0},
$reduce:function(doc,prev){
prev.num++
},
condition:{$where:function(){
return this.user_id==1027270;  这里是指查询的条件
}
}
});


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值