问题描述
在我的Java + Spring项目中,我必须按某些元素从MongoDB中查找元素。价格之一就是BigDecimal。我需要找到价格在两个参数名称之间的对象,例如不需要“最小”和“最大”。
if (min != null && !min.isBlank() || max != null && !max.isBlank()) {
Criteria c = Criteria.where("foo.bar");
if (min != null && !min.isBlank())
obj = c.gte(min);
if (max != null && !max.isBlank())
obj = c.lte(max);
query.addCriteria(c);
}
当我输入min="1"
和max="10"
时,它可以工作,但是当我添加例如min="2"
和max="10"
则没有,因为“ 2“>“ 10”。
我找到了先使用$expr
然后再使用todouble()
的解决方案,但找不到Criteria
对象中的解决方案。
还有其他方法可以找到这些对象吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)