2016-08-19 3 views
-1

は、私は、日付フィールドの値を持っている:MongoDBの日付フィールドに基づいて文書を照会する方法は?ここで指定されているようにMongoDBでは

ISODate(2015-01-12T05:00:00.000+0000) 

私はJavaを使用して、この日付フィールドに基づいてドキュメントを取得するにはどうすればよいです。この文字列2015-01-12T05:00:00.000+0000をメソッドのパラメータとして送信しています。この文字列をDateに変換し、MongoDBからドキュメントを取得しようとしています。

この問題は解決できません。

Date myDate = <whatever>; 

MongoClient mongoClient = new MongoClient(); 
MongoCollection<Document> coll = mongoClient.getDatabase("test").getCollection("xyz"); 

FindIterable<Document> result = coll.find(Filters.eq("myDateField", myDate)); 

注意、これはJavaドライバ3.xの標準であること:私はあなたが正しいJavaのDateオブジェクトを持っていることを確認し、このようなクエリのJava 7

+2

mongo db apiをチェックしましたか? –

+0

HI dev777 - あなたがこれまでに試したことを私たちに見せて、どのように働いていないのかを説明できますか?エラーが発生しましたか、探していたデータを見つけられなかったのですか? –

答えて

0

を使用しています。

+0

文字列 "2015-01-12T05:00:00.000 + 0000"をjave Dateオブジェクトに変換する方法は? – dev777

+2

Date date = Date.from(DateTimeFormatter.ofPattern( "yyyy-MM-dd'T'HH:mm:ss.SSSZ")。parse( "2015-01-12T05:00:00.000 + 0000"、ZonedDateTime ::しかし、mongoドライバは基本的にタイムゾーン情報を削除する単純な日付のみをサポートしているので、デフォルトのJVMタイムゾーンとは別に実際のタイムゾーンを使用する方法は現在サポートされていないようです。私たちは今すぐより良い将来のバージョンを願っています。 – mtj

+0

DateFormatterに使用するmaven依存関係はどれですか? – dev777

関連する問題