首页 > 解决方案 > 如何在MongoDB PHP中查找不区分大小写的值?

问题描述

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

我正在使用下面的代码行

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

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

请帮忙 !!!

标签: mongodbmongodb-querymongodb-phpphp-mongodb

解决方案


您应该使用带有“i”标志的\MongoDB\BSON\Regex(不区分大小写以匹配大小写)。

您还应该转义字符串以不匹配任何正则表达式特殊字符;为此,您可以使用preg_quote

$query = ['VehicleNumber' => new \MongoDB\BSON\Regex( preg_quote($arg),"i")];

推荐阅读