How to use MongoDB with Laravel?

To use MongoDB as the database for a Laravel project, you can use a package called “jenssegers/mongodb”. To install this package, run the following command in your terminal:

composer require jenssegers/mongodb

After installing the package, you need to update the database configuration in the config/database.php file:

'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
    ]
],

Next, you need to update your .env file to reflect the correct database details:

DB_CONNECTION=mongodb
DB_HOST=127.0.0.1
DB_PORT=27017
DB_DATABASE=your_database_name
DB_USERNAME=your_database_username
DB_PASSWORD=your_database_password

Once you have updated the configuration, you can use the MongoDB database in your Laravel project just like you would use any other database.

I’m having Class “MongoDB\Driver\Manager” not found error!

This is a bit tricky. The “Class ‘MongoDB\Driver\Manager’ not found” error typically occurs because the MongoDB extension for PHP is not installed on your system. To resolve this issue, you need to install the MongoDB extension for PHP.

If you’re using a Unix-based operating system (e.g. Linux, macOS), you can install the MongoDB extension using the following command:

sudo pecl install mongodb

If you’re using a Windows system, you can download the MongoDB extension from the PECL website and install it manually.

Once you’ve installed the extension, you also need to add the following line to your php.ini file:

extension=mongodb.so

After making these changes, restart your web server and the “Class ‘MongoDB\Driver\Manager’ not found” error should be resolved.

Published by

mustafabugra

Systems Engineer

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.