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

时间:2018-05-24 12:48:47

标签: java mongodb vert.x

我想从一个名为" 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中的非法类型:class java.util.Date"在JsonObject q = new JsonObject()。put(" updatedOn",new JsonObject()。put(" $ lte",date));

我在这里错过了什么吗?

1 个答案:

答案 0 :(得分: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.");
            });