我有一个jquery自动完成脚本,它接受一个JSON数组并将其显示在一个表中(类似于谷歌建议)。在您键入时,它会从php脚本请求数据。
我想要做的是从MongoDB数据库中查询此数据作为人员类型,但我需要它来匹配所选字段的任何部分。
所以我有一个名为“Name”的字段,它在同一个字段中有姓氏和名字。如果我有“约翰史密斯”的记录,Jo Joh john和Sm Smi Smit史密斯应该都匹配相同的记录。
使用$ collection-> find(array('Name'=>'John');但是与我的John Smith记录不匹配。 我做错了什么?
答案 0 :(得分:7)
您需要使用正则表达式。如
$collection->find(array('Name' => new MongoRegex('/John/i'));
答案 1 :(得分:1)
仅使用'John',您正在搜索名称与“John”完全匹配的记录。您可以使用正则表达式来匹配任意子字符串,例如:
$collection->find(array("Name" => "/.*John.*/i"));