小编典典

如何使用Java API使用“喜欢”查询mongodb?

java

这个问题与另一个帖子非常相似

我基本上想使用mongodb版本的sql“ like”’%m%’运算符

但是在我的情况下,我正在为mongodb使用java api,而另一篇文章使用的是mongodb shell

我尝试了其他线程中发布的内容,并且工作正常

db.users.find({"name": /m/})

但是在Java中,我在BasicDBObject上使用put方法,并将其传递到DBCollections对象的find()方法中

BasicDBObject q = new BasicDBOBject();
q.put("name", "/"+m+"/");
dbc.find(q);

但这似乎不起作用。

有人有什么想法吗?


阅读 216

收藏
2020-10-20

共1个答案

小编典典

您需要传递一个JavaRegEx实例(java.util.regex.Pattern):

BasicDBObject q = new BasicDBObject();
q.put("name",  java.util.regex.Pattern.compile(m));
dbc.find(q);

发送到服务器时,它将转换为MongoDB正则表达式以及任何RegEx标志。

2020-10-20