2013-06-25 205 views
0

我想在我的本地機器來執行使用嗎啡在MongoDB的簡單查詢,查詢的MongoDB發行其工作正常,但在另一臺機器它不工作,
這是我的查詢了日期範圍

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)"} 

那麼可以之所以說上面的第一個查詢結果爲空?

+0

我本地蒙戈版本是MongoDB shell的版本:1.6.3 其他機器(這是不工作的)mongo版本是MongoDB shell版本:1.6.5,它可以是一個問題嗎? – user1573690

回答

0

最後我克服了一個解決方案,但我仍然不知道什麼是錯的,我更新monogDB版本2.4.4 2.1,那麼一切都按我預期

感謝