当前位置: 首页 > 知识库问答 >
问题:

Spring boot mongoDB:将日期查询为ISODate而不是$date long

东方吕恭
2023-03-14

我正在构建这样的查询:

Date date = new Date();
Criteria criteria = Criteria
    .where("metadata.value.digitalitzacio.dataDigitalitzacio")
    .is(new Date(2018,10,10));

this.mongoTemplate.find(Query.query(criteria));

它构建了这个查询:

Query: { "metadata.value.digitalitzacio.dataDigitalitzacio" : { "$date" : 61499948400000 } }

因此,它失败了。

它将查询作为$date long发送,而不是ISODate

我是说,元数据。价值digitalitzacio。dataDigitalitzacio作为ISODate存储到集合中:

{
    "_id" : "cpd4-175ec7f0-d70f-4b63-a709-69918d98c4f2",
    "metadata" : [
        {
            "user" : "RDOCFO",
            "value" : {
                "digitalitzacio" : {
                    "csvDigitalitzacio" : "eeeeeeeeee",
                    "dataDigitalitzacio" : ISODate("2018-10-10T00:00:00Z"),
                    "empleatDigitalitzacio" : "empleat-digitalitzacio"
                }
            }
        }
    ]
}

但它是作为一个日期长的查询的。我怎么解决这个问题?

共有1个答案

邬友樵
2023-03-14

从…起https://stackoverflow.com/a/30294522/9731186,下面的代码应该可以工作,但我没有测试它<代码>java。util。日期(int,int,int)现已弃用。

String string_date = "10-10-2018";
SimpleDateFormat f = new SimpleDateFormat("dd-MM-yyyy");
Date d = new Date();
try {
    d = f.parse(string_date);
    long milliseconds = d.getTime();
} catch (ParseException ex) {
    ex.printStackTrace();
}
  Criteria criteria = Criteria
    .where("metadata.value.digitalitzacio.dataDigitalitzacio")
    .is(d);
}
  this.mongoTemplate.find(Query.query(criteria));
}
 类似资料:
  • 问题内容: 我似乎甚至无法获得最基本的日期查询来在MongoDB中工作。使用看起来像这样的文档: 和一个查询,看起来像这样: 我从执行中得到 0个结果 : 知道为什么这行不通吗? 作为参考,此查询由Spring的MongoTemplate生成,因此我无法直接控制最终发送给MongoDB的查询。 (PS) 谢谢! 问题答案: 尽管它是MongoDB Extended JSON 的一部分,但这是您默认

  • 我似乎连最基本的日期查询都无法在MongoDB中工作。使用看起来像这样的文档: 查询如下所示: 我从执行中获得0个结果: 你知道为什么这样不行吗? 作为参考,此查询是由Spring的MongoTemplate生成的,因此我无法直接控制最终发送到MongoDB的查询。 (P. S.) 谢啦!

  • 本文向大家介绍纯javascript判断查询日期是否为有效日期,包括了纯javascript判断查询日期是否为有效日期的使用技巧和注意事项,需要的朋友参考一下 以下内容主要通过js代码给大家介绍,代码比较简单,包含注释,有好的建议欢迎提出。 如下图,当查询条件含有日期时,如“2012-3-4”,查询前校验输入的日期字符串是否为有效的日期 js判断年月日是否一个有效日期 以上代码就是对日期的有效性校

  • 我正在寻找将PHP日期格式(即Y-m-d H:I:s)转换为javascript日期格式(分别为YYYY-mm-dd HH:mm:ss)的简单方法。 我不想转换日期(这个问题已经有答案),我正在寻找工具/函数来转换格式代码(我还不知道,因为它是由应用程序中的用户定义的)。 用户可以用PHP date()定义的不同方式来定义它,即“Y/m/d H:i”或“Y-d-m H-i”,在javascript

  • 问题内容: 我正在寻找一种简单的方法来将PHP日期格式(即Ymd H:i:s)转换为javascript日期格式(分别为YYYY-mm-dd HH:mm:ss)。 我不想转换日期 (这个问题已经有答案),我正在寻找工具/函数来 转换格式代码(我尚不知道,因为它是由用户在应用程序中定义的) 。 用户可以通过PHP date()即“ Y / m / d H:i”或“ YdmHi”定义的不同方式来定义它

  • 本实例使用有关日期处理和日期格式化的类实现一个日期查询的功能,即查询指定日期所在周的周一日期、两个指定日期间相差的天数和指定日期为所在周的星期几的日期 3 个功能。 从功能上来看,本实例至少需要定义 3 个方法,分别完成:获取指定日期所在周的周一日期、获取两个指定日期的相差天数以及获取指定日期为所在周的星期几的日期这 3 个功能,同时需要定义 Date 类型的日期与 String 类型之间的转换方