假设我有一组用户,每个用户都有一个 ISODate 日期格式的生日。例如。ISODate("1958-03-23T00:00:00.000Z")
. 如何使用 jongo 聚合查询来获取当天生日的用户。这是我目前拥有的,但即使有生日的用户也不会返回任何结果:
Date dateOfBirth = new Date();
Integer month = new DateTime(dateOfBirth).getMonthOfYear();
Integer day = new DateTime(dateOfBirth).getDayOfMonth();
List<User> users= IteratorUtils.toList(userJongo.aggregate("
{$project:_id:1,dateOfBirth:1,name:1}}")
.and("{$match :{dateOfBirth.getDate(): {$eq: '"+day+"'}}}")
.and("{$match :{dateOfBirth.getMonth()+1: {$eq:'"+month+"'}}}")
.and("{$limit:"+limit+"}"
.as(User.class).iterator());
预先感谢。