MongoDB からアイテムを読み取るために、Groovy で GMongo ライブラリを使用しています。CacheItem クラスは、キャッシュ アイテムを保持する単純なオブジェクトであり、各アイテムには、mongo に追加された時点で設定される有効期限があります。mongo からアイテムを読み取るときに、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})
間違った規則を使用していますか?