You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求将MongoDB的$where查询语句转换为PHP语法

将MongoDB $where查询转换为PHP代码

没问题,我帮你把这个遍历dataObj字段匹配文本的MongoDB查询,严格按照原逻辑转换成PHP代码:

<?php
// 假设已经通过MongoDB PHP驱动建立了连接
$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->yourDatabase->pos; // 替换成你的实际数据库名

// 构造$where查询的JavaScript函数,和原逻辑完全一致
$whereFunc = new MongoDB\BSON\JavaScript('function () {
    var searchItem1 = /Hi/g;
    for (var key in dataObj) {
        var valueList = dataObj[key];
        if (searchItem1.test(valueList)) {
            return true;
        }
    }
    return false;
}');

// 执行查询
$cursor = $collection->find(['$where' => $whereFunc]);

// 遍历并处理匹配到的文档
foreach ($cursor as $document) {
    var_dump($document); // 可根据需求替换为自定义处理逻辑
}
?>

关键细节说明:

  • 这里使用MongoDB\BSON\JavaScript类封装查询函数,是PHP驱动中传递$where JavaScript逻辑的标准方式,能确保MongoDB服务端正确执行这段代码。
  • 代码逻辑和你提供的MongoDB原生查询完全一致:遍历dataObj的所有字段,用全局正则/Hi/g测试字段值,只要有一个匹配就返回true,否则返回false。
  • 记得把代码中的yourDatabase替换成你实际使用的数据库名称。

内容的提问来源于stack exchange,提问作者Jehad Aldahdooh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 09:04:42