我希望能够对所有与日期和月份匹配的记录进行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
答案 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
}
})