一、聚合查詢
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'}");