我正在尝试按日期查询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);
如果仅对fileStore排序,那么我会得到许多记录,并且可以通过游标进行枚举.但是,每当我尝试使用$gte或$lte时,我都会得到零结果.
有缺少的步骤吗?