Hướng dẫn dùng mongo trong PHP

Bài viết được sự cho phép của smartjob.vn

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:

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.phpadd.phpfind.php để kiểm tra các tính năng mà thư viện MongoDB PHP cung cấp:

Tập tin info.php

Tập tin add.php

Tập tin find.php

Bước 5. Khởi chạy máy chủ PHP dựng sẵn

php -S localhost:1111 -t C:\xampp\htdocs\vy\mongo-php

Bước 6. Truy cập

//localhost:1111/info.php

xem kết quả để thấy rằng extension MongoDB đã được cài đặt thành công trong PHP.

Bước 7. Thêm dữ liệu bằng cách truy cập đường dẫn

Bước 8. Tìm kiếm dữ liệu, bằng cách truy cập đường dẫn

Để thực hiện nhiều thao tác đa dạng khác [đọc, ghi, sửa, xóa], bạn hãy xem thêm tài liệu như bên dưới.

TÀI LIỆU THAM KHẢO

1. //php.net/manual/en/mongodb.installation.windows.php
2. //mongodb.github.io/mongo-php-library/api/class-MongoDB.Collection.html
3. //gist.github.com/gatesvp/977676

Tải mã nguồn từ server SmartJob: mongo-php
hoặc tải về/fork từ server Github: //github.com/SmartJobVN/mongo-php

Bài viết gốc được đăng tải tại smartjob.vn

Có thể bạn quan tâm:

  • Node.js và Mongodb hướng dẫn kết nối
  • MongoDB là gì? Định nghĩa đầy đủ và chi tiết nhất về MongoDB
  • Lập trình viên MongoDB các vị trí

Xem thêm tuyển dụng nhân viên it hấp dẫn trên TopDev

PHP là viết tắt của chữ "Hypertext Preprocessor", đây là một ngôn ngữ lập trình được sử dụng để viết ở phía máy chủ [server side]. Và PHP là một open source, nên chính vì thế nó có tính cộng đồng của nó cao và đồng thời cũng sẽ có rất nhiều các framawork, CMS hỗ trợ như Laravel, Wordpress.

- MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở thuộc học NoSQL. Nó được thiết kế theo kiểu hướng đối tượng, các bảng trong MongoDB được cấu trúc rất linh hoạt, cho phép các dữ liệu lưu trữ trên bảng không cần tuân theo một cấu trúc nhất định nào cả [điều này rất thích hợp để làm big data].

Series này sẽ hướng dẫn mọi người cách Kết nối PHP đến MongoDB. Và đọc, ghi, sửa, xóa [CRUD] dữ liệu trên MongoDB sử dụng PHP.

Phần trước mình đã hướng dẫn mọi người cài đặt mongoDB driver vào trong PHP rồi. Bài này chúng ta sẽ thực hiện kết nối PHP đến mongoDB
Lưu ý: Các bạn phải cài đặt mongodb trên máy sẵn rồi mới thực thi được [xem hướng dẫn] và mặc định thì mình coi như là các bạn đang start mongoDB rồi nhé!

Nội dung chính

  • 1,  Class MongoDB\Client.
  • 2, Thực thi kết nối.
  • 3, Lời kết.
  • Cài đặt Ubuntu
  • Cài đặt Windows
  • Cài đặt trình điều khiển cho PHP
  • Cài đặt trình điều khiển trên Linux
  • Nguyên tắc của MongoDB
  • Kết nối PHP với MongoDB
  • Kiểm tra kết nối
  • Đọc dữ liệu thu thập
  • Quản trị web

1,  Class MongoDB\Client.

Để thực hiện kết nối  PHP đến MongoDB chúng ta sẽ sử dụng đến class Client nằm trong gói MongoDB.

Class này chứa các phương thức sau:

  • __construct[]
  • __get[]
  • dropdatabase[]
  • getManager[]
  • getReadConcern[]
  • getReadPreference[]
  • getTypeMap[]
  • getWriteConcern[]
  • listDatabases[]
  • selectCollection[]
  • selectDatabase[]

2, Thực thi kết nối.

Để thực thi kết nối đến MongoDB chúng ta chỉ việc khởi tạo class Client với cú pháp như sau:

 

Chúng tôi thấy cách mỗi bản ghi thực sự là tài liệu của bộ sưu tập của chúng tôi, chúng tôi xây dựng chúng dưới dạng một mảng trong chương trình của chúng tôi, sau đó chúng tôi chỉ cần chuyển mảng đó cho đối tượng bộ sưu tập và thực hiện phương thức chèn, điều này dễ dàng cho chúng tôi cách chèn dữ liệu vào bộ sưu tập trong mongoDB, hãy xem hình ảnh sau đây như thế nào sau khi thực thi mã của chúng tôi trên máy chủ của chúng tôi, cơ sở dữ liệu được gọi là thư viện của chúng tôi được tạo :

$config[ads_text5] not found

Đọc dữ liệu thu thập

Vì chúng tôi đã thấy cách chúng tôi dễ dàng chèn dữ liệu, bây giờ chúng tôi sẽ thực hiện một truy vấn nhỏ, bằng cách này, chúng tôi sẽ trình bày cách trích xuất dữ liệu của tài liệu.
Để làm điều này, chúng ta sẽ thực hiện lại các kết nối cần thiết như trong ví dụ trước, nhưng bây giờ chúng ta sẽ sử dụng phương thức findOne [] với đối tượng bộ sưu tập, bằng cách này, chúng ta có thể tham khảo một số thuộc tính của tài liệu trong bộ sưu tập, chẳng hạn như tác giả chúng tôi đã tạo, hãy xem mã:

 thư viện; $ sưu tập = $ db-> tác giả; $ tác giả = mảng ['autorid' => 1, 'name' => 'Dan Brown']; $ bộ sưu tập-> chèn [tác giả $]; $ tác giả = mảng ['autorid' => 2, 'name' => 'Chuck Palahniuk']; $ bộ sưu tập-> chèn [tác giả $]; $ tác giả = mảng ['autorid' => 3, 'name' => 'Max Brooks']; $ sưu tập-> lưu [$ tác giả]; $ Documents = $ sưu tập-> findOne [mảng ['autorid' => 2]]; echo "Dữ liệu truy vấn: 
"; echo" Khóa chính Mongo: {$ Documents ['_ id']}
"; echo" Tên tác giả: {$ Documents ['name']} ";?>

Cuối cùng, chúng ta có thể duyệt qua các kết quả như thể đó là một mảng và chỉ đơn giản chỉ ra chỉ mục của từng thuộc tính mà chúng ta cần in, ngoài ra chúng ta đã đưa vào ví dụ thuộc tính _id để chúng ta có thể hình dung cách mongoDB tạo ra khóa chính hoặc trường định danh duy nhất. Hãy xem kết quả trong trình duyệt của chúng tôi khi chúng tôi thực thi mã của mình:

$config[ads_text6] not found

Quản trị web

Có một số công cụ mà chúng ta có thể sử dụng để quản trị thông qua web cơ sở dữ liệu của chúng tôi trong mongoDB .
Một trong số đó là Genghis, vì điều này, chúng tôi chỉ cần tải xuống hoặc sao chép dự án trong thư mục www hoặc tương đương của chúng tôi, nơi chúng tôi có thể nâng một trang trong localhost và chúng tôi có thể thấy cài đặt mongoDB và dữ liệu của nó, để hoàn tất hãy xem công cụ hữu ích này trông như thế nào:

$config[ads_text5] not found
Với điều này, chúng tôi đã hoàn thành hướng dẫn này, chúng tôi đã có cơ sở để có thể tham gia vào thế giới của NoQuery, theo xu hướng hiện nay trong việc quản trị các bộ sưu tập dữ liệu lớn, nhiều người có thể nghi ngờ kết nối trong PHP có các lựa chọn thay thế như nút. js, câu trả lời rất đơn giản, vì có nhiều hệ thống phụ trợ được tạo bằng ngôn ngữ này và với kiến ​​thức này, chúng tôi có thể sử dụng lại mã số trọn đời của mình trong khi cập nhật bản thân cho các công nghệ mới.

Chủ Đề