Hướng dẫn dùng mongodb readpreference trong PHP

Php cung cấp trình điều khiển mongodb để kết nối với cơ sở dữ liệu mongoDB. Sau khi cài đặt nó, chúng ta có thể thực hiện các hoạt động cơ sở dữ liệu bằng cách sử dụng php. Ở đây, chúng tôi đang sử dụng Ubuntu 16.04 để tạo một ví dụ. Ví dụ này bao gồm các bước sau.

Các bài viết liên quan:

  • Connection Methods trong MongoDB
  • MongoDB BI connector là gì? Cách sử dụng
  • Kết nối MongoDB với Java
  • Tạo Collection trong MongoDB
  • Marketing 4.0 là gì? tìm hiểu về marketing 4.0

Tóm tắt nội dung

  • Cài đặt trình điều khiển
  • Chỉnh sửa tệp php.ini
  • Cài đặt thư viện mongo-php
  • Tạo tập lệnh Php
  • Thực thi Php Script
  • Nhập Mongo Shell
    • Hiển thị cơ sở dữ liệu
    • Hiển thị Collection
    • Truy cập hồ sơ

Cài đặt trình điều khiển

$ pecl install mongodb  

Chỉnh sửa tệp php.ini

Nó được lưu trữ trong thư mục máy chủ apache /etc/php/7.0/apache2/php.ini

$ extension = mongodb.so  

Cài đặt thư viện mongo-php

Sau đây là cách ưa thích để cài đặt thư viện này với Composer.

$ composer require mongodb/mongodb  

Tạo tập lệnh Php

// connect.php

  

Thực thi Php Script

Thực thi tập lệnh này trên máy chủ localhost. Nó sẽ tạo cơ sở dữ liệu và lưu trữ dữ liệu vào mongodb.

localhost/php/connect.php  

Nhập Mongo Shell

Sau khi thực thi tập lệnh php, chúng ta có thể thấy cơ sở dữ liệu đã tạo trong mongodb.

$ mongo

Hiển thị cơ sở dữ liệu

Lệnh sau được sử dụng để hiển thị cơ sở dữ liệu.

> show dbs  

Hiển thị Collection

Lệnh sau được sử dụng để hiển thị các Collection.

> show collections  

Truy cập hồ sơ

> db.employee.find []

Tất cả đã được thiết lập, điều này đang hoạt động tốt. Chúng tôi cũng có thể thực hiện các hoạt động cơ sở dữ liệu khác.

Ở phần trước chúng ta thiết lập cấu hình replica set MongoDB.  Trong phần này, chúng ta sẽ cấu hình Laravel website kết nối cơ sở dữ liệu MongoDB trong trường hợp replication.

Trước khi vào phần cấu hình chúng ta làm rõ một số thông tin tùy chọn read, write trong MongoDB.

Trong MongoDB replication thì chỉ có 01 máy chủ [ là primary] được quyền write, còn tùy chọn read thì Mongodb có 05 chế độ :

  • primary: Là chế độ read mặc định, mà tất cả thao tác read đến primary
  • primaryPreferred: Tất cả yêu cầu read đều từ primary, nhưng primary unvailable thì nó sẽ chuyển hướng read sang secondary
  • secondary: Tất cả yêu cầu read đến secondary
  • secondaryPreferred: Tất cả yêu cầu read đều từ secondary, nhưng secondary unvailable thì nó sẽ chuyển hướng read sang primary
  • nearest: Yêu cầu read từ replica set members mà có least network latency [độ trễ thấp nhất, không phân biệt primary và secondary]

Reference read: //docs.mongodb.com/manual/reference/read-preference/

Cấu hình kết nối database

Trên web server, chúng ta thực hiện cấu hình Laravel kết nối cơ sở dữ liệu mongodb với một số thông tin sau:

  • Mongodb replication mà chúng ta thiết lập có ID là “mongo_rep”
  • Tùy thuộc vào nhu cầu sử dụng để chúng ta thiết lập tùy chọn read cho phù hợp. Ví dụ, chúng ta sẽ thiết lập ưu tiên read từ secondary, khi secondary mà unavailable thì sẽ chuyển hướng read sang primary. Trong trường hợp này, chúng ta sẽ vào giá trị là “secondaryPreferred”
  • database name: example

  • user/pass: keepwalking/P@ssw0rd

Thực hiện cấu hình cho website example.local, với thư mục chứa source code “/var/www/example“, ta thực hiện như sau:

MongoDB hỗ trợ rất nhiều Driver cho các ngôn ngữ lập trình khác nhau. Trong bài viết này, SmartJob trình bày về việc kết nối, truy vấn từ PHP.

Máy tính sử dụng: Windows 10, 64 bit, sử dụng bộ tích hợp XAMPP.
Cài đặt MongoDB sử dụng MEAN stack [bạn xem các bài viết trước đã hướng dẫn cách cài đặt].

Việc làm php và việc làm mongoBD hấp dẫn

Bước 1. Tải về tập tin mở rộng dll tại đường link:

//windows.php.net/downloads/pecl/releases/mongodb/1.1.4/php_mongodb-1.1.4-7.0-ts-vc14-x86.zip

Bước 2. Giải nén. Copy file php_mongodb.dll  vào thư mục ext, ví dụ trên máy của tác giả là: C:\xampp\php\ext

Bước 3. Tìm file php.ini , ví dụ, trên máy tác giả là: C:\xampp\php\php.ini .

Chèn vào cuối tập tin này:

extension=php_mongodb.dll

Bước 4. Giả sử có thư mục: C:\xampp\htdocs\vy\mongophp
Sử dụng cmd:

Gõ lệnh:

composer require "mongodb/mongodb=^1.0.0"

để tải thư viện bằng Composer về.

Composer tự động tải về và thư mục có thêm 1 thư mục và 2 tập tin mới:

Tạo 3 tập tin info.php, add.php, find.php để kiểm tra các tính năng mà thư viện MongoDB PHP cung cấp:

Tập tin info.php

Chủ Đề