说我在mongo文档中有一个多值字段:
public class MongoEntity{
private List<String> field;
}
在该字段中查询正则表达式的正确criteria是什么?
我试过
Criteria.where(searchText).regex(searchText).in("field");
但结果是
org.springframework.data.mongodb.UncategorizedMongoDbException:
Can't canonicalize query: BadValue unknown top level operator: $in;
nested exception is com.mongodb.MongoException: Can't canonicalize query: BadValue unknown top level operator: $in
答案 0 :(得分:0)
因此经过多次试验和错误后,事实证明它比我想象的更简单(尽管有点反直觉):
Criteria.where("field").regex(searchText);
答案 1 :(得分:0)
这正在工作
List<Pattern> regs = new ArrayList<Pattern>()
regs.add(Pattern.compile(regex, Pattern.CASE_INSENSITIVE))
Criteria.where("tags").regex(regs)