我在 mongodb 有一个集合
array( 'name'=>'Péter' )
当我查询$this->mongo_db->like('name', 'Péter', 'i', true, true)
如此成功但
查询$this->mongo_db->like('name', 'Peter', 'i', true, true)
无结果
我用了codeigniter alex bibie
提前致谢!
此问题的标准解决方案是使用规范化字符串存储第二个数组,如本答案中所述。
e 和 é 是两个完全不同的字符。尽管您可能希望对名称进行某种字符折叠,但在大多数其他情况下,如果“e”==“é”,您会吓坏了。
MongoDB 不支持排序规则或字符的自动转换,因此这不起作用。如果你想要这样的匹配,你必须自己规范化它。