命令在 mongodb 罗盘中有效但在 php 中无效

Command works in mongodb compass but not in php

_id:1
email:"j@g.com"

这是我的collection。当我写

{ email: /^J/i  }

在罗盘中它工作得很好,但在php

$user_collection->find(
    ["email" => ['$regex' => "/^j/i"]]
);

一无所获

在您的示例 /^J/i 中,i 是请求不区分大小写搜索的选项标志。

使用 $regex 时,您需要使用单独的选项字段:

['$regex' => "^j", '$options'=>"i"]