mongodb里存入的时间类型的数据有可能为空,在用Criteria.where查询的时候,怎么将该空值时间转换成有效时间再进行查询
例:数据库里end_date有空值的情况
params.add(Criteria.where("end_date").gte(value);
mongodb里存入的时间类型的数据有可能为空,在用Criteria.where查询的时候,怎么将该空值时间转换成有效时间再进行查询
例:数据库里end_date有空值的情况
params.add(Criteria.where("end_date").gte(value);
3 回答971 阅读✓ 已解决
4 回答639 阅读✓ 已解决
2 回答363 阅读✓ 已解决
2 回答520 阅读✓ 已解决
3 回答735 阅读
1 回答537 阅读✓ 已解决
1 回答399 阅读✓ 已解决
如果end_date字段有可能为空,可以使用Criteria.orOperator()方法来组合两个查询条件:
1、匹配end_date字段为空的文档;
2、匹配end_date字段大于或等于指定时间的文档。
具体实现如下:
在上述代码中,Criteria.where("end_date").exists(false)表示匹配end_date字段不存在的文档,即空值时间。Criteria.where("end_date").gte(value)表示匹配end_date字段大于或等于指定时间的文档。
这样组合之后,可以匹配到end_date字段为空或者大于等于指定时间的文档。