MongoDB được biết đến là một trong những hệ quản trị cơ sở dữ liệu NoSQL phổ biến trên toàn thế giới. Tuy nhiên, Laravel PHP Framework, mặc định, không hỗ trợ trực tiếp MongoDB. Vì vậy, trong hướng dẫn này từ VinaSupport.com, chúng ta sẽ tìm hiểu cách cài đặt và tích hợp MongoDB vào dự án Laravel của bạn.
Cài đặt MongoDB
Các bạn vui lòng tham khảo bài viết: Hướng dẫn cài đặt MongoDB
Cài đặt MongoDB PHP Extension
Để cài đặt mongodb Extension cho PHP, chúng ta sử dụng command sau:
sudo /opt/lampp/bin/pecl install mongodb
Sau đó thêm dòng sau vào file php.ini và restart lại httpd
extension=mongodb.so
Cài đặt package jenssegers/mongodb cho Laravel
Bài viết này sẽ tập trung vào việc giới thiệu thư viện mà bạn có thể sử dụng để tích hợp MongoDB với Laravel và cách cài đặt nó thông qua Composer.
composer require jenssegers/mongodb
Sửa file config/app.php thêm MongoServiceProvider
JenssegersMongodbMongodbServiceProvider::class,
Thêm kết nối vào file config/database.php
'mongodb' => [ 'driver' => 'mongodb', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', 27017), 'database' => env('DB_DATABASE', 'homestead'), 'username' => env('DB_USERNAME', 'homestead'), 'password' => env('DB_PASSWORD', 'secret'), 'options' => [ // here you can pass more settings to the Mongo Driver Manager // see https://www.php.net/manual/en/mongodb-driver-manager.construct.php under "Uri Options" for a list of complete parameters that you can use 'database' => env('DB_AUTHENTICATION_DATABASE', 'admin'), // required with Mongo 3+ ], ],
Chú ý: Trên Ubuntu 16.04 fix lỗi
Sử dụng các command sau đây để fix lỗi này
strings /opt/lampp/lib/libstdc++.so.6 | grep CXXABI locate libstdc++.so.6 strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep CXXABI sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /opt/lampp/lib/libstdc++.so.6