我们如何在流明中使用mongo查询?

时间:2017-12-13 06:32:14

标签: php mongodb laravel-5 lumen

目前我正在使用

public function checkExist($login, $email) 
{
    return $this->where('login', $login)
        ->whereIN('email', $email)
        ->count();
}

现在我们想用mongoDB改变整个数据库操作。那么,我们需要采取多少步骤以及如何编写基本的ddl和dml操作?

1 个答案:

答案 0 :(得分:1)

你们不是第一个将Lumen与MongoDB一起使用的人。您甚至可以继续使用 Eloquent ORM来创建查询。 Github上有一些实现为此提供了解决方案。

以下是一种方法(此解决方案由https://hackernoon.com/how-to-use-mongodb-with-your-lumen-api-e13f36fa0aa6提供,请查看链接以获取更多详细信息):

1)使用composer

安装https://github.com/jenssegers/laravel-mongodb

2)在bootstrap / app.php中注册服务提供者:

$app->register(Jenssegers\Mongodb\MongodbServiceProvider::class);
$app->withEloquent();

3)创建config / database.php并添加PHP:

return [
    'default' => 'mongodb',
    'connections' => [
        'mongodb' => [ 
            'driver' => ‘mongodb',
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', 27017),
            'database' => env('DB_DATABASE'),
            'username' => env('DB_USERNAME'),
            'password' => env('DB_PASSWORD'),
            'options' => [
                'database' => 'admin' // sets the authentication database required by mongo 3
            ]
        ],
    ],
    ‘migrations’ => ‘migrations’,
];

4)现在您可以在.env文件中使用MongoDB:

DB_CONNECTION=mongodb
DB_HOST=<dbHost>
DB_PORT=27017
DB_DATABASE=<dbName>
DB_USERNAME=<dbUser>
DB_PASSWORD=<dbUserPassword>

另一种解决方案可能是Moloquent库:https://github.com/moloquent/moloquent