我正在尝试使用 MongoDB 上的 morphia 执行简单查询,在我的本地机器上它工作正常,但在另一台机器上它不工作,
这是我的查询
List<Ino> ino = ds.find(Ino.class).field("g_id").hasAnyOf(gId).field("iDate").greaterThanOrEq(stDate)
.field("iDate").lessThan(inoEnd).asList()
stDate 和 inoEnd 是
Tue Jan 01 16:36:37 IST 2013 , Wed Jan 30 16:36:37 IST 2013
上面的查询返回空列表,但是当我使用以下查询尝试它时它工作正常
List<Ino> ino = ds.find(Ino.class).field("g_id").hasAnyOf(gId).field("iDate").greaterThanOrEq(stDate).asList()
这返回
[Ino(_id=926, g_id=27, iDate=Mon Jan 14 00:00:00 IST 2013),
Ino(_id=1026, g_id=27, iDate=Thu Feb 14 00:00:00 IST 2013),
Ino(_id=1110, g_id=27, iDate=Thu Mar 14 00:00:00 IST 2013)]
然后我尝试了
List<Ino> ino = ds.find(Ino.class).field("g_id").hasAnyOf(gId).field("iDate").lessThan(inoEnd).asList()
这返回
[Ino(_id=926, g_id=27, iDate=Mon Jan 14 00:00:00 IST 2013)]
在我的本地和其他机器中唯一不同的是数据表示
这就是我的本地集合的方式
{ "_id" : 926, "className" : "test", "g_id" : 27, "iDate" : ISODate("2013-01-14T18:30:00Z")}
但在其他机器集合是
{ "_id" : 926, "className" : "test", "g_id" : 27, "iDate" : "Mon Jan 14 2013 00:00:00 GMT+0530 (IST)"}
那么上面第一个查询结果为空的原因是什么?