2

Java アプリケーションにフィールドを持つクラスがあります

Instant created;

これはmongoに次のように保存されます

"created" : NumberLong("1467359610266") (f.e.)

2 つの日付の間に作成されたすべてのドキュメントを取得するクエリを作成したい:

    public List<MarketingEmail> find(Long startDate, Long endDate) {
    Query query = new Query();
    query.addCriteria(Criteria.where("created").gte(startDate).lte(endDate));
    ...
}

タイムスタンプ変数 startDate と endDate (fe endDate = 1467981757) を渡します。したがって、問題は、タイムスタンプが 10 しかない場合に、MongoDB の NumberLong が 13 桁になることです。だから私のクエリはまったく機能しません

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

2

Mongo タイムスタンプはミリ秒を使用します。

クエリを実行するには、値に 1000 を掛けます (または000最後に単純に追加します)。

于 2016-07-08T13:41:06.837 に答える