使用 NumberLong 在 mongodb 中创建查询时出现问题
Issue with creating a query in mongodb with NumberLong
我的 Java 应用程序中有一个 class 字段
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 (f.e.endDate = 1467981757)。
所以问题是 MongoDB 中的 NumberLong 有 13 位,而我的时间戳只有 10 位;所以我的查询根本不起作用
我该如何解决这个问题?
Mongo时间戳使用毫秒。
要查询它,请将您的值乘以 1000(或在末尾简单添加 000
)
我的 Java 应用程序中有一个 class 字段
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 (f.e.endDate = 1467981757)。 所以问题是 MongoDB 中的 NumberLong 有 13 位,而我的时间戳只有 10 位;所以我的查询根本不起作用
我该如何解决这个问题?
Mongo时间戳使用毫秒。
要查询它,请将您的值乘以 1000(或在末尾简单添加 000
)