Вобщем есть 2 в целом равнозначных способа получения результатов.
Первый - сохранять Unixtime как
NumberLong() и работать с
операторами сравнения. NumberLong хранится как 64-битное целое число.
Второй - использовать тип
Date() и переводить Unixtime в него. Операторы сравнения также будут работать с ним.
Оба варианта в принципе одинаковы, т.к. объект будет сконвертирован в то же 64-битное целое.
Разница будет на уровне общения с базой, в первом случае вам прийдется превращать все даты в число и передавать это число базе, во втором вы будете передавать объект Date().
Я бы рекомендовал применить Date(), и, если у вас не планируется значений в одно и тоже время, сохранять его внутри поля _id. Таким образом вы можете сэкономить индекс.