使用$ regex在mongodb中搜索包含特殊字符的字符串

时间:2017-05-12 14:35:08

标签: mongodb

我想搜索名称B&B Hôtel,其中包含一些特殊的陨石坑,例如&和ô键入BB Hotel

在我的代码中我有这个:

db.txt.find({ "name": {'$regex': query, $options:'i'}})

查询可能是这样的名称:BB Hotel

我已尝试过该代码,但它没有给出任何东西,所以任何有想法的人。谢谢你提前。

1 个答案:

答案 0 :(得分:0)

我不确定您的文本搜索要求,但我相信MongoDB会建议其用户使用文本索引引擎(如ElasticSearch或Apache Solr)进行文本搜索。

如果您仍然使用Mongo,则可以创建文本索引并将$diacriticSensitive设置为false。 $text documentation

{  
  $text:
    {
      $search: <string>,
      $language: <string>,
      $caseSensitive: <boolean>,
      $diacriticSensitive: <boolean>
    } 
}