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\mongo–php
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
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 Nội dung chính
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é!
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.