java - Spring MongoDB 查询正则表达式

标签 java spring mongodb

我正在尝试使用 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/

相关文章:

apache - 使用 spring 引发嵌入式 ldap 服务器时出现 NullPointerException

java - 复制其他对象值的复制构造函数

java - 使用 unboundid 更改 LDAP 中的用户密码

java - Spring Data Jpa 不支持 Groupby

java - Spring 发现 beans 从版本 4.3 更改为版本 5

javascript - 如何在运行 Mongodb 的 Mongoose 中执行脚本?

java - 在java中的Scoop of 3中设置cookie域

java - JTable 在 JFrame 的(单独的类)JTextfield 中显示选定的行数据

node.js - 如何在 Cloud9 中连接 MongoDB?

linux - MongoDB安装错误: "mongod: error while loading shared libraries: libc++.so.1..."