Я использую библиотеку 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})
Я использую неправильное соглашение?
Я попробовал, но Eclipse, жалуется на синтаксисе; не нравится точка с запятой, разделяющая «\\\ $ gt» и «nowMillis» – raffian
извините ... опечатка. Вы должны использовать квадратные скобки вместо курчавых – Nat
Работал как чемпион, спасибо за разъяснение, Nat! – raffian