Mongo只搜索月和日

时间:2015-10-21 18:12:49

标签: javascript mongodb

我希望能够对所有与日期和月份匹配的记录进行Mongo搜索,而不是年份。例如,给定如下记录集:

{
    "lastName" : "a",
    "date" : ISODate("1983-05-29T09:32:11.888Z"),
}, {
    "lastName" : "b",
    "date" : ISODate("1959-05-29T09:32:11.888Z"),
}, {
    "lastName" : "c",
    "date" : ISODate("1983-06-29T09:32:11.888Z"),
}

我希望在传递某种形式的05/29

时返回a和b

2 个答案:

答案 0 :(得分:1)

您可以使用$ where条件

 db.collection.find({$where : function() { return this.date.getMonth() == month && this.date.getDate() == day} })

你应该更换变量' month'和' day'使用您想要使用的实际值。

答案 1 :(得分:1)

尝试使用以下聚合查询。有关详细信息,请查看$dayOfMonth$month

db.test.aggregate(
 { "$project": {    
      "lastName": 1,      
      "month":{"$month":"$date"},      
      "day": { "$dayOfMonth":"$date" }  
 },
 { "$match":{           
      "month": 5,       
      "day": 29 
   }
 })