java - 当前使用 vertx mongoclient 按日期查询 mongodb 的方法
问题描述
我想从一个名为“updatedOn”的字段小于或等于某个日期的集合中获取所有文档。
我正在使用下面的代码片段。
Date date = new Date(2018, 12, 2);
JsonObject q = new JsonObject().put("updatedOn", new JsonObject().put("$lte", date));
mongoClient.findBatch("mycollection", q)
.handler(r -> {
System.out.println(r);
})
.endHandler(endr -> {
System.out.println("end reached.");
});
不幸的是,上面的代码片段抛出了异常
“JsonObject 中的非法类型:类 java.util.Date”在 JsonObject q = new JsonObject().put("updatedOn", new JsonObject().put("$lte", date));
我在这里错过了什么吗?
解决方案
正如评论中所建议的,使用扩展的 JSON 格式:
String date = "2018-12-02T00:00:00+00:00"
JsonObject q = new JsonObject().put("updatedOn", new JsonObject().put("$lte", date));
mongoClient.findBatch("mycollection", q)
.handler(r -> {
System.out.println(r);
})
.endHandler(endr -> {
System.out.println("end reached.");
});