gpt4 book ai didi

java - 如何使用 Java 中的时间戳过滤器在 mongodb 中进行地理空间查询?

转载 作者:行者123 更新时间:2023-12-01 16:50:47 26 4
gpt4 key购买 nike

我正在使用 Java 进行 MongoDB 地理空间查询;

 FindIterable<Document> result = collection.find(
Filters.near("gps_location", currentLoc, 1000.0, 0.0));

现在我想添加一个时间戳过滤器,例如

BasicDBObject query = new BasicDBObject();
Timestamp timestamp = new Timestamp(1585906034);
query.put("timestamp", new BasicDBObject("$gte", timestamp));

如何将时间戳过滤器添加到上述地理空间查询中?

最佳答案

检查Spring data mongodb更多的例子,使用CriteriaQuery,我给你写了一些模板代码,你可以尝试一下


Query orQuery = new Query();
Criteria orCriteria = new Criteria();
List<Criteria> orExpression = new ArrayList<>();
// multiple condition in or
Criteria location = Criteria.and("location").near(point).maxDistance(0.01)
orExpression.add(location);
Criteria ts = Criteria.and("timestamp").gte(1585906034);
orExpression.add(ts);
// build final criteria
orQuery.addCriteria(orCriteria.orOperator(orExpression.toArray(new Criteria[orExpression.size()])));
List<Document> documents = mongoOperations.find(orQuery, Document.class);

希望它对你有用

关于java - 如何使用 Java 中的时间戳过滤器在 mongodb 中进行地理空间查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61694035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com