我正在尝试使用 spring 查询 MongoDB,但我无法让我的正则表达式工作。
我在 mongodb 中有一棵树作为 MongoDB 文档 (http://www.mongodb.org/display/DOCS/Trees+in+MongoDB) 中的物化路径。
在 shell 中查询
db.categories.find({path:/^\w+,$/})
可以很好地找到第一个逗号之前的路径。
例如:{"path": "a,"} 被返回但不是我想要的 {"path: "a,b,"}。
如何在 Spring 进行相同的查询? 我试过:
new Query(Criteria.where("path").regex("/^\\w+,$/"))
但这行不通。
谢谢
最佳答案
我刚刚解决了我的问题。
query = new Query(Criteria.where("path").regex("^([A-Z]|[a-z])+,$"));
虽然 \w 代表“任何单词字符”,通常表示字母数字,但我只需要字母字符。
我稍后可以抛出 [0-9] 和 \_ 以获得与 \w 相同的值。
如果有人可以解释如何使 \w 工作,我将非常感激 :)
关于java - Spring MongoDB 查询正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12751807/