2017-02-20 225 views
0

有没有什么办法可以将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查询。

回答

0

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

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