php mongodb模糊搜索

之前一直使用mysql数据库,模糊搜索like关键字就能搞定。最近接入了mongodb平台,一时没法适应 ,踩了一些坑,在此记录下来,但愿对其余人可以有用。php

1.mongodb对于普通非文本全部字段如何进行模糊搜索
答案:使用正则表达式。
对于过去常常使用mysql的同窗可能不太适合,由于一想到正则表达式,咱们就会想到对性能的影响,一般是能不用就不用,可是mongodb除了文本索引只能使用正则表达式进行模糊搜索。mysql

2.如何在php中使用正则表达式
答案:MongoDBBSONRegex(php7使用了mongodb扩展),mongoregex(php7之前使用mongo扩展)正则表达式

3.二者在使用细节上的区别
答案:MongoDBBSONRegex在构造regex对象时传入的字符串不须要先后的斜线,选项经过第二个参数传入sql

$regex = new MongoRegex("/^$search/");

$regex = new  \MongoDB\BSON\Regex("^{$search}", 'i');

固然了,若是要使用全文本索引mongodb也是支持的mongodb

相关文章
相关标签/搜索