一、聚合查询
db.json_same_trade.aggregate([
{ $match : { "create_time_" : { $gt : new Date('2017-10-20') } } },
{$group:{"_id":{"user_id_":"$user_id_","auth_trucks_id_":"$auth_trucks_id_"},"number":{$sum:1} ,"id_a":{$max:"$_id"} }},
{ $match : { number : { $gt : 1 } } },
{$sort:{number:1}},
{$out:"temp"}
],{allowDiskUse:true})
注释:
$match:在分组前对数据进行过虑
$group:分组
$match:对分组后的数据过虑
$sort:排序,1正序-1倒序
$out:查询结果输入到指定表中
allowDiskUse 内存不够用
--》整个查询是一个管道操作,下一步查询在上一步的结果数据集上操作
二、mongo导出
/usr/local/mongo/mongodb/bin/mongoexport -h 192.168.6.89 --port 27017 --csv --collection user_payment_analyse -f user_name,contract_no,n_date,n_status,create_time,last_amount,user_id,approval_amount,last_date --out /data/1.csv --db kyyd
三、spring.data.mongo mongoTemplate查询
CommandResult cr = mongoTemplate.executeCommand("{ distinct: 'current_bill_a',key:'user_id'}");