MongoDB数据库,使用LIKE查询

时间:2011-08-23 07:50:07

标签: mongodb find sql-like

我有一个MongoDB,我可以使用'Country'查询数据库,该工作正常。但我现在也想用自由文本搜索字段'title'。与在SQL中一样,WHERE标题LIKE'%title%'

BasicDBObject query = new BasicDBObject();
query.put("country", country);
query.put("title", %title%);
DBCursor cursor = collection.find(query);

我如何使用MongoDB执行此操作?

3 个答案:

答案 0 :(得分:4)

您可以使用regular expressions 在你的情况下,/title/i应该工作(因为像查询这样的MySQL通常不区分大小写,/ i表示不区分大小写的匹配)

答案 1 :(得分:0)

使用它 这种模式是java正则表达式

Pattern title = Pattern.compile("title");
BasicDBObject dbc=new BasicDBObject();
dbc.put("title", title );
DBCursor cursor = collection.find(query);

这样可行,试试吧

答案 2 :(得分:0)

如果你在变量中得到了关键字......

Model.find( { FIELD_NAME : { $regex: KEYWORD, $options: 'i' }});

如果您将关键字作为字符串...

Model.find( { FIELD_NAME : /string/i });

应该像SELECT * FROM Model WHERE FIELD_NAME LIST = KEYWORD一样工作。

'我'切换不区分大小写,以便您可以搜索单词而不会出现大小写异常。