PHP kết nối với MongoDB

Sau khi thiết lập trình điều khiển ban đầu, chúng tôi sẽ tiếp tục giải thích cách bắt đầu với trình điều khiển MongoDB và thư viện vùng người dùng tương ứng để viết dự án đầu tiên của chúng tôi

Cài đặt thư viện PHP với Composer

Điều cuối cùng chúng ta vẫn cần cài đặt để bắt đầu ứng dụng, đó là thư viện PHP

Thư viện cần được cài đặt » Composer, trình quản lý gói cho PHP. Hướng dẫn cài đặt Composer trên các nền tảng khác nhau có thể được tìm thấy trên trang web của nó

Cài đặt thư viện bằng cách chạy

$ composer require mongodb/mongodb

Nó sẽ xuất ra một cái gì đó giống như

./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing mongodb/mongodb (1.0.0)
    Downloading: 100%         

Writing lock file
Generating autoload files

Trình soạn thảo sẽ tạo một số tệp. composer.json, composer.lock, và một thư mục vendor sẽ chứa thư viện và bất kỳ phần phụ thuộc nào khác mà dự án của bạn có thể yêu cầu

Ngoài việc quản lý các phần phụ thuộc của bạn, Composer cũng sẽ cung cấp cho bạn một trình tải tự động (đối với các lớp của các phần phụ thuộc đó). Đảm bảo rằng nó được bao gồm ở đầu tập lệnh của bạn hoặc trong mã khởi động ứng dụng của bạn

// This path should point to Composer's autoloader
require 'vendor/autoload.php';

Khi điều này được thực hiện, bây giờ bạn có thể sử dụng bất kỳ chức năng nào như được mô tả trong » tài liệu thư viện

Nếu trước đó bạn đã sử dụng trình điều khiển cũ (i. e. mongo), API của thư viện sẽ trông quen thuộc. Nó chứa một lớp » Client để kết nối với MongoDB, và » Lớp cơ sở dữ liệu cho các hoạt động cấp cơ sở dữ liệu (e. g. lệnh, quản lý bộ sưu tập) và » Lớp bộ sưu tập cho các hoạt động cấp bộ sưu tập (e. g. » Phương pháp CRUD, quản lý chỉ mục). Các phương thức Thu thập khác nhau đã được đổi tên cho rõ ràng và phù hợp với thông số kỹ thuật » không phân biệt ngôn ngữ mới

Ví dụ, đây là cách bạn chèn một tài liệu vào bộ sưu tập các loại bia của cơ sở dữ liệu demo

require 'vendor/autoload.php'; // include Composer's autoloader

$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->demo->beers;

$result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );

./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing mongodb/mongodb (1.0.0)
    Downloading: 100%         

Writing lock file
Generating autoload files
0

Thay vì đưa trường

./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing mongodb/mongodb (1.0.0)
    Downloading: 100%         

Writing lock file
Generating autoload files
1 đã tạo vào tài liệu đầu vào (như đã được thực hiện trong trình điều khiển cũ), giờ đây nó được cung cấp thông qua đối tượng kết quả được trả về bởi phương thức
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing mongodb/mongodb (1.0.0)
    Downloading: 100%         

Writing lock file
Generating autoload files
2

Sau khi chèn, tất nhiên bạn cũng có thể truy vấn dữ liệu mà bạn vừa chèn. Để làm được điều đó, bạn sử dụng phương thức

./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing mongodb/mongodb (1.0.0)
    Downloading: 100%         

Writing lock file
Generating autoload files
3, phương thức này trả về một con trỏ có thể lặp lại

require 'vendor/autoload.php'; // include Composer's autoloader

$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->demo->beers;

./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing mongodb/mongodb (1.0.0)
    Downloading: 100%         

Writing lock file
Generating autoload files
6

./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing mongodb/mongodb (1.0.0)
    Downloading: 100%         

Writing lock file
Generating autoload files
7

Mặc dù có thể không rõ ràng trong các ví dụ, nhưng theo mặc định, các tài liệu và mảng BSON không được đánh số thứ tự thành các lớp kiểu trong thư viện. Các lớp này đảm bảo rằng các giá trị bảo toàn loại của chúng khi được tuần tự hóa trở lại BSON, điều này tránh được cảnh báo trước trong trình điều khiển cũ nơi các mảng có thể biến thành tài liệu và ngược lại. Ngoài ra, các lớp mở rộng ArrayObject để nâng cao khả năng sử dụng. Bạn có thể tìm thêm thông tin về cách tuần tự hóa và giải tuần tự hóa giữa các biến PHP và BSON được trình điều khiển và thư viện xử lý bằng cách đọc Đặc tả dữ liệu liên tục

Làm cách nào để thiết lập MongoDB với PHP?

Bắt đầu thiết lập để chạy PHP với MongoDB .
điều kiện tiên quyết
Cài đặt
Cài đặt Apache
đang cài đạt PHP
Cài đặt tiện ích mở rộng PHP
Cài đặt thư viện MongoDB PHP
Bắt đầu cụm MongoDB trên Atlas
Bảo mật tên người dùng và mật khẩu

Làm cách nào để kết nối MongoDB với PHP trong Windows?

1 câu trả lời .
Tải xuống trình điều khiển mongo cho Windows từ pecl. php. net. .
Giải nén phiên bản trình điều khiển mongo đã tải xuống và sao chép. dll sang XAMPP. .
Đăng ký mongodb. dll trong php. ini Thêm dòng sau vào php. tập tin ini. .
Khởi động lại XAMPP và làm mới phpinfo. .
Cài đặt MongoDB trên Windows

Làm cách nào để bật tiện ích mở rộng MongoDB trong PHP?

Cài đặt thủ công . tập tin ini. Mở tệp trong trình soạn thảo văn bản yêu thích của bạn và biến extension_dir đang trỏ đến vị trí của mongo. vì thế. Ngoài ra, thêm 'extension=mongo. so' trong một tệp, lưu và khởi động lại máy chủ web của bạn .

Làm cách nào để kết nối MongoDB với PHP trong Ubuntu?

Cách thiết lập Apache, PHP & MongoDB trên Ubuntu 20. 04 .
điều kiện tiên quyết
Cập nhật hệ thống
Cài đặt máy chủ web Apache
Cài đặt PHP 8 với Mô-đun MongoDB
Cài đặt máy chủ cơ sở dữ liệu MongoDB
Tạo tệp PHPINFO