Ruby Mongoid: Как перевести дату в возраст? - PullRequest
0 голосов
/ 05 мая 2018

У меня есть дата в Mongoid user поле сбора dob. Я хочу получить тех пользователей, чей возраст составляет 18-30 лет. но я не знаю, как получить возраст от даты в Mongoid. вот запрос:

User.in(gender: gender_group).between(dob: 18..30)

1 Ответ

0 голосов
/ 07 мая 2018

Учитывая, что пользователю 30 лет, если он еще не отметил свой 31-й день рождения, ваша логика будет следующая:

today = Date.today
 => Mon, 07 May 2018

aged_30 = today - 31.years + 1.day
 => Fri, 08 May 1987

aged_18 = today - 18.years
 => Sun, 07 May 2000

User.in(gender: gender_group).between(dob: aged_30..aged_18)
...