0

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

では、上記の最初のクエリ結果が空である理由は何でしょうか?

4

1 に答える 1

0

最後に解決策で克服しましたが、何が問題なのかまだわかりません.monogDBバージョンを2.1から2.4.4に更新すると、すべてが期待どおりに機能します

ありがとう

于 2013-06-27T09:06:32.313 に答える