Spring Data Mongo-如果字段为可选字段,则会出现Criteria.andOperator问题

时间:2019-05-12 12:27:20

标签: mongodb spring-data-mongodb

我正在使用Spring Data Mongo及其Criteria操作。在这种情况下,我写了下面的标准条件,效果很好。但是以某种方式,如果firstName为空白或为空,则需要为其他字段设置""。如果我未指定"",则它将采用null值,这将导致不同的结果。

有什么办法可以有效地修改以下条件?

Criteria criteria = new Criteria();

criteria.andOperator(
StringUtils.isNotBlank(firstName) ? Criteria.where("firstName").is(firstName.toUpperCase()) : Criteria.where(""),
StringUtils.isNotBlank(middleName) ? Criteria.where("middleName").is(middleName.toUpperCase()): Criteria.where(""),
StringUtils.isNotBlank(lastName) ? Criteria.where("lastName").is(lastName) : Criteria.where(""), 
StringUtils.isNotBlank(emailId) ? Criteria.where("departments.emailId").is(emailId) : Criteria.where(""),
StringUtils.isNotBlank(isActive)? Criteria.where("departments.defaultSw").is(isActive.toUpperCase()) : Criteria.where(""),
StringUtils.isNotBlank(codeStyle) ? Criteria.where("departments.codeStyle").is(codeStyle): Criteria.where(""));

0 个答案:

没有答案