国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

think-orm在webman2.1使用mongo數(shù)據(jù)庫bug

橘子味的心

問題描述

think-orm在webman2.1使用mongo數(shù)據(jù)庫出現(xiàn)TypeError: think\db\connector\Mongo::query()

程序代碼

TypeError: think\db\connector\Mongo::query(): Argument #1 ($query) must be of type MongoDB\Driver\Query, string given, called in /www/wwwroot/shu_cang/vendor/webman/think-orm/src/DbManager.php on line 54 and defined in /www/wwwroot/shu_cang/vendor/topthink/think-orm/src/db/connector/Mongo.php:298
Stack trace:
#0 /www/wwwroot/shu_cang/vendor/webman/think-orm/src/DbManager.php(54): think\db\connector\Mongo->query()
#1 /www/wwwroot/shu_cang/vendor/workerman/coroutine/src/Pool.php(328): Webman\ThinkOrm\DbManager->W(wǎng)ebman\ThinkOrm\{closure}()
#2 /www/wwwroot/shu_cang/vendor/workerman/coroutine/src/Pool.php(312): Workerman\Coroutine\Pool->trySendHeartbeat()
#3 /www/wwwroot/shu_cang/vendor/workerman/coroutine/src/Pool.php(132): Workerman\Coroutine\Pool->checkConnections()
#4 /www/wwwroot/shu_cang/vendor/w

報錯信息

截圖

截圖報錯信息里報錯文件相關(guān)代碼

截圖

操作系統(tǒng)及workerman/webman等框架組件具體版本

Workerman/5.1.1 PHP/8.2.27 (Jit off) Linux/6.1.0-31-amd64

323 2 0
2個回答

jolalau

先修改代碼使用,等后續(xù)更新webman/think-orm。

$pool->setHeartbeatChecker(function ($connection) {
    if (in_array($connection->getDriverName(), ['mysql', 'pgsql', 'sqlite', 'sqlsrv'])) {
        $connection->select('select 1');
    } elseif ($connection->getDriverName() === 'mongodb') {
        $connection->command(['ping' => 1]);
    }
});
walkor 打賞

感謝反饋,發(fā)布了 2.1.2 版本,更新下

  • 橘子味的心 2025-04-07

    好的

  • 橘子味的心 2025-04-07

    代碼需要改為以下
    if ($connection->getConfig('type') === 'mongo') {
    $command = new \MongoDB\Driver\Command(['ping' => 1]);
    $connection->command($command);
    return;
    }
    $connection->query('select 1');

  • walkor 2025-04-07

    更新到 2.1.3

??