Вместо использования getTime(), вероятно, лучше работать с объектами Date напрямую. Таким образом, ваши данные будут отправляться по кабелю и сохранены с тегами как тип данных даты BSON, а не целочисленный тип. Вы можете вставлять и извлекать текущую дату, как это:
> db.foo.insert({time: new Date});
> db.foo.findOne();
{
"_id" : ObjectId("523b182d42214dac3729419f"),
"time" : ISODate("2013-09-19T15:28:45.175Z")
}
А вот как вы можете запросить для всех, кто находится в пределах от 20 до 30 лет:
var t1 = new Date();
var t2 = new Date();
t1.setYear(t1.getYear() - 30);
t2.setYear(t2.getYear() - 20);
db.people.find({
birth_date : {$gt: t1, $lt: t2}
});