如何在laravel 5.7中测试mongo连接?

时间:2018-12-27 12:42:05

标签: php mongodb laravel mongodb-query laravel-5.7

我正在使用laravel 5.7和mongo db(v1.5.3稳定版)。 我正在尝试测试从laravel到db的连接,但是每次我获得成功的连接时,即使我提供了错误的凭据也是如此。

我已经通过以下方式尝试过:

Jessengers

        $arrMongo = [];

        if(true == DB::connection('mongodb')) {
            $arrMongo = array(
                'status'=>true,
                'message' => 'Mongo connection OK'
            );
        }else{
            $arrMongo = array(
                'status'=>false,
                'message' => 'Mongo connection failed'
            );
        }

常规PHP方式

$server = "mongodb://google.com:27017/university";
        $c = new \MongoDB\Client( $server );
        if($c->connected)
            echo "Connected successfully";
        else
            echo "Connection failed";

当使用错误的凭据进行测试时,连接永远不会失败。

请帮助我解决此问题。

1 个答案:

答案 0 :(得分:1)

Laravel仅在需要数据库中的某些内容时才连接到数据库。

您可以选择获取try / catch块中的数据库列表,如下所示:

try {
    DB::connection()->getMongoClient()->listDatabases();
} catch (\Exception $e) {
    echo $e->getMessage();
}