MongoDB在30天之前发布的记录数

时间:2017-04-09 07:22:54

标签: mongodb

我有一个名为JobPosting的集合,它有一个名为publishDate的字段,我想要做的是获取在过去30天之前发布的记录数。 我试过的是:

db.JobPosting.aggregate([
    {$match:{
      "publishDate":{$gt: new Date(ISODate().getTime() - 1000*60*60*24*30)}
    }}, 
    {$project:{
      "publishDate":{$gt: new Date(ISODate().getTime() - 1000*60*60*24*30)
    }}, 
    {$group:{
      _id:publishDate, 
      "count":{$sum:1}
    }}
])

1 个答案:

答案 0 :(得分:2)

您可以这样做,不需要使用aggregation;

db.JobPosting.find( { publishDate: { $lt : new Date(ISODate() - (1000*60*60*24*30) ) } } )
             .count()

获取JobPosting字段在今天之前的publishDate字段中的文档数 - 30天。由于您希望之前的日期(今天 - 30天)点,  你必须使用$ltTested on MongoDB web shell.