Spring MongoDB 查询正则表达式

Hen*_*ves 3 java spring mongodb

我正在尝试使用 spring 查询 MongoDB,但我无法让我的正则表达式工作。

我在 mongodb 中有一个树作为 MongoDB 文档中的物化路径(http://www.mongodb.org/display/DOCS/Trees+in+MongoDB)。

在 shell 中查询

db.categories.find({path:/^\w+,$/})
Run Code Online (Sandbox Code Playgroud)

可以很好地找到第一个逗号之前的路径。

例如: {"path" : "a,"} 被返回,但不是 {"path: "a,b,"} 这正是我想要的。

如何在春季进行相同的查询?我试过了:

new Query(Criteria.where("path").regex("/^\\w+,$/"))
Run Code Online (Sandbox Code Playgroud)

但这行不通。

谢谢

Hen*_*ves 5

我刚刚解决了我的问题。

query = new Query(Criteria.where("path").regex("^([A-Z]|[a-z])+,$"));
Run Code Online (Sandbox Code Playgroud)

虽然\w代表“任何单词字符”,通常表示字母数字,但我只需要字母字符。

我稍后可以抛出[0-9]\_与\w相同。

如果有人可以解释如何使\w工作,我将非常感激:)