1

说我在 mongo 文档中有一个多值字段:

public class MongoEntity{
    private List<String> field;
}

在该字段中查询正则表达式的正确标准是什么?

我试过了

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
4

2 回答 2

0

因此,经过多次试验和错误,事实证明它比想象的要简单(尽管在我看来有点违反直觉):

Criteria.where("field").regex(searchText);
于 2016-02-25T10:05:17.593 回答
-1

这是有效的

List<Pattern> regs = new ArrayList<Pattern>()
regs.add(Pattern.compile(regex, Pattern.CASE_INSENSITIVE))
Criteria.where("tags").regex(regs)
于 2020-08-24T08:34:31.430 回答