我正在尝试在我的条件中添加第二个OR。
我遇到一个错误
Due to limitations of the com.mongodb.BasicDBObject, you can't add a second 'null' criteria
当我调试它时,我看到第一个OR将一个以null为键的值添加到Criteria的HashMap中。 尝试添加第二个密钥时,它会发现null键存在,因此会引发错误。
if (par1 != null) {
query.addCriteria(
new Criteria().orOperator(
Criteria.where(Book.SOME_FIELD + "." + BookDetail.CATEGORY_FIELD).is(par1),
Criteria.where(Book.OTHER_FIELD + "." + BookDetail.CATEGORY_FIELD).is(par1)
)
);
}
if (par2 != null) {
query.addCriteria(
new Criteria().orOperator(
Criteria.where(Book.SOME_FIELD + "." + BookDetail.TYPE_FIELD).is(par2),
Criteria.where(Book.OTHER_FIELD + "." + BookDetail.TYPE_FIELD).is(par2)
)
);
}
我想检查具有相应字段的非null参数。
如果我仅发送1个参数,则它正常工作。 问题是当我同时发送2个参数时。
谢谢。