将日期与MongoDB的一个月或一年进行比较



是否有任何方法可以将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 } }
   ]
)

最新更新