如何在MongoDB PHP中基于不区分大小写的值查找?

时间:2018-09-07 07:11:45

标签: mongodb mongodb-query mongodb-php php-mongodb

如何在MongoDB PHP中基于不区分大小写的值查找?

我正在使用下面的代码行

$query = ['VehicleNumber' => $arg];
$cursor = $this->collection->find($query);

我想根据VehicleNumber查找数据,但是它应该能够基于不区分大小写的arg查找数据。例如,如果表中有车辆编号为JK AB123,JK DE245等的数据。现在,如果arg包含jk Ab123,它应该能够找到该数据。

请帮助!!!

2 个答案:

答案 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 } })