3

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

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

在外壳中查询

db.categories.find({path:/^\w+,$/})

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

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

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

new Query(Criteria.where("path").regex("/^\\w+,$/"))

但这不起作用。

谢谢

4

1 回答 1

5

我刚刚解决了我的问题。

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

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

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

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

于 2012-10-05T22:28:43.843 回答