使用原生查询
{
$match: {
$and : [
{userType:"200"},
{
$or: [
{login : /infosys/},
{email : /infosys/},
{firstName : /infosys/},
{lastName : /infosys/}
]
}
]
}
}
SpringData API未按预期工作:
match(
Criteria.where("userType").is(userType).orOperator(
Criteria.where("login").regex(searchTxt).orOperator(
Criteria.where("email").regex(searchTxt).orOperator(
Criteria.where("firstName").regex(searchTxt).orOperator(Criteria.where("lastName").regex(searchTxt))
)
)
)
);
答案 0 :(得分:0)
您是{或$or
运算符的$或每个条件。 orOperator
列出了crtieria列表。
以下是您的原生查询的等效内容。
match
(
Criteria.where("userType").is(userType)
.orOperator(
Criteria.where("login").regex(searchTxt),
Criteria.where("email").regex(searchTxt),
Criteria.where("firstName").regex(searchTxt),
Criteria.where("lastName").regex(searchTxt)
)
)