Как выполнить поиск по ИЛИ

Я хочу найти частичное совпадение имени и фамилии - например, в sql

f_name LIKE J%   OR  l_name LIKE S%   

будет соответствовать Джону Смиту, Джону Генри или Гарри Смиту.

Я предполагаю, что я может потребоваться использование оператора «$ или»,

У меня есть это до сих пор, и я считаю, что он выполняет часть LIKE% правильно, но я считаю, что он выполняет поиск «И» (что означает, что он ищет f_name LIKE J% И l_name LIKE S%, чтобы соответствовать только Джону Смиту):

$name1="J";
$name2="S";
$cursor = $this->clientCollection->find(array('f_name' => new MongoRegex('/^'.$name1.'/i'), 'l_name' => new MongoRegex('/^'.$name2.'/i') ));

Примечание: Это будет соответствовать содержащемуся в% J%

MongoRegex('/'.$name1.'/i')

. Соответствие начинается с (обратите внимание на добавленный ^), как в J%

MongoRegex('/^'.$name1.'/i')
6
задан Scott Szretter 15 May 2011 в 11:07
поделиться