Sử dụng mongo DB trong dự án Laravel

2nd Nov 2022
Sử dụng mongo DB trong dự án Laravel
Table of contents

Với phiên bản mới nhất 6., Laravel đang hỗ trợ 4 loại DB: sqlite, mysql, pqsql, cuối cùng là sqlsrv. Vì vậy muốn sử dụng mongo cho dự án, chúng ta cần thêm thư viện hỗ trợ: jenssegers/laravel-mongodb.

Đầu tiên cần cài đặt thư viện vào project:

composer require jenssegers/mongodb

Tiếp theo, đăng ký service provider vào config/app.php:

Jenssegers\Mongodb\MongodbServiceProvider::class,

*Note: Với Laravel 6 trở lên, hệ thống sẽ tự động đăng ký cho bạn.

Đã hoàn thành bước cài đặt thư viện, tiếp theo cần config để hệ thống sử dụng mongo.

Đầu tiên config file .env:

 Vì vậy muốn sử dụng mongo cho dự án, chúng ta cần thêm thư viện

Trong đó, DB_HOST , DB_PORT mặc định của mongo là 127.0.0.1 và 27017.

Tiếp theo là file app/config/database.php

 Vì vậy muốn sử dụng mongo cho dự án, chúng ta cần thêm thư viện

Đến đây, coi như đã hoàn thành cài đặt và config mongo cho dự án. Mình sẽ thử sử dụng nhé.

Tạo một model Post cho table posts:

 Vì vậy muốn sử dụng mongo cho dự án, chúng ta cần thêm thư viện

Viết một function dùng để lưu dữ liệu thông qua model Post (Để tiết kiệm thời gian, mình fake data):

 Vì vậy muốn sử dụng mongo cho dự án, chúng ta cần thêm thư viện

Sau khi chạy api này, chúng ta thử kiểm tra database nhé, mình sẽ dùng Robo3T:

 Vì vậy muốn sử dụng mongo cho dự án, chúng ta cần thêm thư viện

Và đây là record mà chúng ta vừa tạo đã được lưu thành công:

 Vì vậy muốn sử dụng mongo cho dự án, chúng ta cần thêm thư viện

Cài đặt và sử dụng MongoDB thật đơn giản phải không nào, bài tiếp theo, mình sẽ thực hành cài đặt và sử dụng Angular 8 trong project Laravel kết hợp với MongoDB để làm một SPA rất mạnh mẽ nhé.

P/s:

Nếu có vẫn gặp vướng mắc trong khi thực hành hoặc có bất kì thắc mắc về PHP, Laravel hay muốn tìm hiểu thêm các thông tin hữu ích, các bạn hãy tham gia group Laravel VietNam để được các admin và thành viên support trực tiếp vấn đề mà bạn gặp phải nhé.

Bạn thấy bài viết này như thế nào?
1 reaction

Add new comment

Image CAPTCHA
Enter the characters shown in the image.

Related Articles

Mỗi kết nối cơ sở dữ liệu được định nghĩa trong một mảng, với tên kết nối là khóa của mảng

Eager Loading là một kỹ thuật tối ưu hóa truy vấn cơ sở dữ liệu trong Laravel, giúp tăng tốc độ truy vấn và giảm số lượng truy vấn cần thiết để lấy dữ liệu liên quan đến một bản ghi.

Để sử dụng Eager Loading với điều kiện trong Laravel, bạn có thể sử dụng phương thức whereHas hoặc orWhereHas trong Eloquent Builder.

E hiểu đơn giản vầy nha. auth() hay Auth trong laravel là những function global hay class, nó cũng chỉ là 1 thôi

Xin chào các bạn, tuần này mình sẽ viết một bài về cách xử lý Real Time(thời gian thực) với Laravel và Pusher