将日期与mongodb中的月份或年份进行比较

将日期与mongodb中的月份或年份进行比较,mongodb,mongoose,mongodb-query,Mongodb,Mongoose,Mongodb Query,有没有办法将MongoDb集合中的日期与月份或年份进行比较。例如:- 收藏中的文档:- { "pageName": "xyz", "createdAt": "ISODate("2017-02-19T18:30:00Z")" }, { "pageName": "abc", "createdAt": "ISODate("2017-03-19T18:30:00Z")" }, { "pageName": "pqr", "createdAt": "ISODate("2018-02-19T18:30:00Z

有没有办法将MongoDb集合中的日期与月份或年份进行比较。例如:-

收藏中的文档:-

{
"pageName": "xyz",
"createdAt": "ISODate("2017-02-19T18:30:00Z")"
},
{
"pageName": "abc",
"createdAt": "ISODate("2017-03-19T18:30:00Z")"
},
{
"pageName": "pqr",
"createdAt": "ISODate("2018-02-19T18:30:00Z")"
},
{
"pageName": "dfg",
 "createdAt": "ISODate("2017-03-19T18:30:00Z")"
}
我所期待的是:-如果我只通过了一个月,比如说02年和2017年,那么它将返回:-

{
  "pageName": "xyz",
  "createdAt": "ISODate("2017-02-19T18:30:00Z")"
}

请帮助我编写此场景的MongoDb查询。

以下查询将适用于您的情况

db.getCollection('collection_name').aggregate(
   [
     {
       $project:
         {
           pageName: "$pageName",
           createdAt: "$createdAt",
           year: { $year: "$createdAt" },
           month: { $month: "$createdAt" }
         }
     },
     { $match : { "month" : 2, "year": 2017 } }
   ]
)

如果我想做一个随机的一个月,一年又一天,它会是什么样子?