Kho*_*hon 30 java groovy find mongodb
这个问题与另一篇文章非常相似
我基本上想要使用mongodb版本的sql"like"'%m%'运算符
但在我的情况下,我正在使用java api for mongodb,而另一篇文章是使用mongodb shell
我尝试了在另一个帖子中发布的内容并且工作正常
db.users.find({"name": /m/})
Run Code Online (Sandbox Code Playgroud)
但在java中,我在BasicDBObject上使用put方法并将其传递给DBCollections对象上的find()方法
BasicDBObject q = new BasicDBOBject();
q.put("name", "/"+m+"/");
dbc.find(q);
Run Code Online (Sandbox Code Playgroud)
但这似乎没有用.
谁有任何想法?
Bre*_*ams 65
您需要传递Java RegEx的实例(java.util.regex.Pattern):
BasicDBObject q = new BasicDBObject();
q.put("name", java.util.regex.Pattern.compile(m));
dbc.find(q);
Run Code Online (Sandbox Code Playgroud)
这将在发送到服务器时转换为MongoDB正则表达式,以及任何RegEx标志.
| 归档时间: |
|
| 查看次数: |
27018 次 |
| 最近记录: |