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

带日期的Spring Mongo标准查询

焦光霁
2023-03-14

我有一个带有在线和离线日期的产品pojo

我使用以下查询来获取在线日期为空或离线日期为的所有产品。但是以下查询仅在联机和脱机日期都为空时才返回我。

query.addCriteria(Criteria.where(Product.IS).is(is).andOperator( Criteria.where(Product.OFFLINE_DATE).is(null).orOperator(Criteria.where(Product.ONLINE_DATE).is(null))));

有线索吗?

共有1个答案

包永新
2023-03-14

使用上面的Query对象,您创建的mongo查询类似于

{ "productId" : "1" , "$and" : [ { "offlineDate" :  null  , "$or" : [ { "onlineDate" :  null }]}]}

如果你想查询类似{"productId":"1","$and" : [ { "$或" : [ { "offlineDate": null } , { "onlineDate": null }]}]}

创建一个标准的对象,并把它放到和操作员:

 Criteria orOperator = new Criteria().orOperator(Criteria.where(Product.OFFLINE_DATE).is(null),
            Criteria.where(Product.ONLINE_DATE).is(null));
    query.addCriteria(Criteria.where(Product.IS).is(is).andOperator(orOperator));

我希望这有帮助。

 类似资料:
  • 我想在Mongo和Spring中获取结果bw两个日期,但它显示解析异常。 如果我将like date作为字符串传递,则不会有结果。如何比较spring和Mongo应用程序中的日期。 我的收藏:

  • 问题内容: 在甲骨文我有格式的日期 2011年4月17日19:20:23.707000000 我想检索2011年4月17日的所有订单。 但这给我带来了空洞的结果: 问题答案: 为什么使用)? 您应该使用。 请注意,您也可以使用,,,在日期对象作为比较操作。运算符不适用于这种情况,因为当您要根据列的部分内容匹配结果时很有用。请参阅http://www.sql- tutorial.net/SQL-LI

  • 我正在使用Hibernate标准API并使用投影获得如下所示的结果: 输出: 这段代码按预期工作,但我想在唯一日期记录的基础上运行distinct函数,这意味着distinct函数不应该考虑时间值,而应该只考虑日期值。所以out put应该是这样的: 知道怎么做吗?

  • 本文向大家介绍python转化excel数字日期为标准日期操作,包括了python转化excel数字日期为标准日期操作的使用技巧和注意事项,需要的朋友参考一下 伙伴遇到一个关于excel导入数据到python中,日期变成数字而不是日期格式的问题。第一反应这个数字应该是excel里面的时间戳类似的,所以我就实验增加一天是不是对应的数字就加1。最后证明了我的想法,这样就可以倒推excel里面的数字日期

  • 标准c时间与日期函数 -> 详解 标准c时间与日期函数 asctime 语法: #include <time.h> char *asctime( const struct tm *ptr ); 功能: 函数将ptr所指向的时间结构转换成下列字符串: day month date hours:minutes:seconds year\n\0 例如: Mon Jun 26 12:03:53 2

  • 标准c时间与日期函数 标准c时间与日期函数 asctime() 时间文本格式 clock() 返回自程序开始运行所经过的时间 ctime() 返回特定格式时间 difftime() 两时刻的间隔 gmtime() 返回指向当前格林威治时间的指针 localtime() 返回指向当前时间的指针 mktime() 返回指定时间的日历格式 strftime() 返回日期和时间的单个元素 time() 返