1

私はmongodbの初心者です。現在の日付に基づいてドキュメントを取得するためにデータベースにクエリを実行しているときにいくつかの問題があります。ドキュメントをデータベースに保存する際に、billingDate フィールドを設定しています。

SimpleDateFormat sdf=new SimpleDateFormat("MM/dd/yyyy");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
Date d = sdf.parse(billingDate);

したがって、私のデータベースの日付フィールドは次のとおりです。

"billingDate" : ISODate("2017-01-02T00:00:00Z")

私は次のようにクエリしようとしました:

Query query=new Query();
query.addCriteria(Criteria.where("billingDate").lte(new java.util.Date()));

上記のクエリを実行すると、以前の請求書も取得されますが、必要なのは今日だけです (タイムスタンプを考慮したくありません)。現在の日付のみの請求書を取得するのを手伝ってください。どんな提案でもかなりの価値があります。

4

2 に答える 2

0

あなたの基準は間違っています。lte を使用しています。これは、同等以下を意味します。式を使用

http://api.mongodb.com/java/3.0/?com/mongodb/client/model/Filters.html

于 2017-01-02T17:14:12.880 に答える