Я использую библиотеку GMongo в Groovy для чтения элементов из MongoDB.Класс CacheItem - это простой объект для хранения элементов кэша, и каждый элемент имеет время истечения, которое устанавливается в момент его добавления в монго.Когда я читаю элементы из Монго, я хочу получать только те элементы, срок действия которых не истек, на основе поля expirationMillis.
class CacheItem {
def _id
def cacheKey
long expirationMillis
def value
}
Это работает для извлечения элементов с использованием cacheKey
item = mongoDb.cache.findOne( cacheKey: "600")
НоКогда я пытаюсь использовать критерии с условием, большим или меньшим, чем соглашение против expirationMillis, я не могу получить какие-либо документы.
long nowMillis = (new Date()).getTime()
item = mongoDb.cache.findOne( cacheKey: "600", expirationMillis: { $gt: nowMillis})
Использую ли я неправильное соглашение?