使用vertx mongoclient按日期查询mongodb的当前方法

问题描述 投票:0回答:1

我想从一个名为“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));

我在这里错过了什么吗?

java mongodb vert.x
1个回答
0
投票

正如评论中所建议的那样,使用扩展的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.");
            });
© www.soinside.com 2019 - 2024. All rights reserved.