如何在MongoDB PHP中基于不区分大小写的值查找?
我正在使用下面的代码行
$query = ['VehicleNumber' => $arg];
$cursor = $this->collection->find($query);
我想根据VehicleNumber查找数据,但是它应该能够基于不区分大小写的arg查找数据。例如,如果表中有车辆编号为JK AB123,JK DE245等的数据。现在,如果arg包含jk Ab123,它应该能够找到该数据。
请帮助!!!
答案 0 :(得分:2)
您应将\MongoDB\BSON\Regex与“ i”标志一起使用(不区分大小写以区分大小写)。
还应该转义字符串以使其不与任何正则表达式特殊字符匹配;为此,您可以使用preg_quote。
$query = ['VehicleNumber' => new \MongoDB\BSON\Regex( preg_quote($arg),"i")];
答案 1 :(得分:0)
您可以使用$regex查找区分大小写的值。
db.col.find({"VehicleNumber": { "$regex": /^jk Ab123/i } })