为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 $elemMatch 与正则表达式结合起来

如何将 $elemMatch 与正则表达式结合起来

PHP
神不在的星期二 2023-06-24 15:58:30
以下过滤器['labels' => [    '$elemMatch' => new \MongoDB\BSON\Regex(        '/^' . preg_quote($this->_keywords[$i]) . '$/i'    )]]应用于下面的函数public static function readDB(    $collectionName,     $filter,     $options) {    //logError("readDB filter:", $filter);    try {        $manager = new MongoDB\Driver\Manager(            "mongodb://localhost:27017"        );        $rqt = new MongoDB\Driver\Query(            $filter,             $options        );        $results = $manager->executeQuery(            "leibnizdream." . $collectionName,             $rqt        );        return PhysicalAccessors::objectToArray(            $results        );    }     catch (Exception $e) {        logError($e->getMessage());        return array(            "error" => self::MSG_KO . $collectionName        );    }}结果出现以下错误:$elemMatch needs an Object我的日志报告了这一点:[$elemMatch] => MongoDB\BSON\Regex Object(    [pattern] => /^ad$/i    [flags] => )有人知道正确的语法吗?我没能在互联网上找到它。
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

$elemMatch 需要一个运算符,您可以使用$regex来执行正则表达式匹配。



查看完整回答
反对 回复 2023-06-24
  • 1 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信