У меня есть список файлов в GridFS, которые я пытаюсь запросить по дате. Образец документа выглядит следующим образом:
{
"_id" : ObjectId("52e431d3e84f6fa18c53c808"),
"chunkSize" : NumberLong(262144),
"length" : NumberLong(13021),
"md5" : "0eb01f0d266f4bf4764d4ffc7e70a7ed",
"filename" : "120_1390686674383",
"contentType" : null,
"uploadDate" : ISODate("2014-01-25T21:51:15.049Z"),
"aliases" : null
}
Я пытаюсь получить «самый последний» в соответствии с меткой времени, выполнив следующие действия:
DateTime dt = new DateTime(queryObj.getTime()); //org.joda.DateTime
BasicDBObject sort = new BasicDBObject();
sort.put("uploadDate", -1);
BasicDBObject query = new BasicDBObject();
query.put("uploadDate", new BasicDBObject("$gte", dt));
DBCursor cursor = fileStore.getFileList(query, sort);
Если я просто отсортирую хранилище файлов, я получу множество записей и смогу перечислить их с помощью курсора. Однако всякий раз, когда я пытаюсь использовать $gte или $lte, я получаю нулевой результат.
Есть пропущенный шаг?