MongoDB-管道聚合查询
db.term.aggregate([
{$match:{library_id:3607}},
{$limit:5},
{$group:{_id:"$version", count: {$sum:1}}},
{$sort:{count:-1}}
])
查询样例:
db.getCollection('txpfHistory').aggregate(
[
{
$match : {
'companyCode' :'0000',
'channelCode' : 'CUCC',
'hasHistory':0
}
},
{ $group : { _id : {telephone:"$telephone"}, count: { $sum: 1 } } },
{$match:{count:{$gt:2}}}
]
)
db.getCollection('tableName').find(
{
"companyCode":"0000",
"result" :{$exists:true},
"channelCode":"AAA",
"queryNo":{
$gte:'01*',
$lte:'10*'
}
}
).sort({"queryNo":-1}) //根据时间排序
.size() //统计大小
db.getCollection('tableName').aggregate(
{
$match : {
'queryNo' :{ $gt: '01*' ,$lte: '10*' }
}
},
{
'$group' : {
'_id' : {
time: {$substr: ['$queryNo', 0, 8 ] },
companyCode: '$companyCode',
channelCode: { $substr: [ '$channelCode', 0, 4 ]}
},
'sum' : { '$sum' : 1}
}
},
{
'$sort':{time:-1}
}
)