聚合函数使用

时间:2023-01-29 19:09:09

数据格式如下:

{
  "_id" : 1,
  "ft" : "云功能",
  "pro" : "江苏省",
  "pid" : 3,
  "prid" : 320000,
  "guid" : "20140904abcdefabcd10000000",
  "fn" : "云检查",
  "ct" : "无锡市",
  "hds" : "76332f9bafe7aff580e47e42df07e5c7",
  "cid" : 320200,
  "ut" : new Date("1/9/2014 20:01:00"),
  "un" : "shao1"
}


需求:根据用户进行聚合操作,聚合出某个时间之内的用户的使用ft的次数,最后根据使用次数进行过滤。


db.Log.aggregate([

{$match: {"ft":1,"ut":{$lt:ISODate("2014-08-19 00:00:00")}}},
{$group: {
_id: {un:"$un"},
count: { $sum: { $cond: [ { $gt: [ "$pid", 0 ] } , 1, 0] }}
}},
{$project:{un:1,count: 1}},
{$match: {"count":{$gt: 1}}}

]);