跳到主要內容

MongoDB

📝 此頁面為 Laravel 官方文檔的繁體中文翻譯。查看原始英文版本

MongoDB

簡介

MongoDB 是最受歡迎的 NoSQL 文件導向資料庫之一,因其高寫入負載(適用於分析或物聯網)和高可用性(易於設定具有自動故障轉移的複製集)而被廣泛使用。它還可以輕鬆地對資料庫進行分片以實現水平擴展,並具有強大的查詢語言用於聚合、文字搜尋或地理空間查詢。

與 SQL 資料庫將資料儲存在行或列的表格中不同,MongoDB 資料庫中的每條記錄都是以 BSON(資料的二進制表示)描述的文件。應用程式可以以 JSON 格式檢索這些資訊。它支援多種資料類型,包括文件、陣列、嵌入式文件和二進制資料。

在 Laravel 中使用 MongoDB 之前,我們建議透過 Composer 安裝並使用 mongodb/laravel-mongodb 套件。laravel-mongodb 套件由 MongoDB 官方維護,雖然 MongoDB 透過 MongoDB 驅動程式原生支援 PHP,但 Laravel MongoDB 套件提供了與 Eloquent 和其他 Laravel 功能更豐富的整合:

composer require mongodb/laravel-mongodb

安裝

MongoDB 驅動程式

要連線到 MongoDB 資料庫,需要 mongodb PHP 擴充套件。如果您使用 Laravel Herd 在本機開發或透過 php.new 安裝 PHP,您的系統上已經安裝了此擴充套件。然而,如果您需要手動安裝擴充套件,可以透過 PECL 進行:

pecl install mongodb

有關安裝 MongoDB PHP 擴充套件的更多資訊,請查看 MongoDB PHP 擴充套件安裝說明

啟動 MongoDB 伺服器

MongoDB Community Server 可用於在本機執行 MongoDB,並可在 Windows、macOS、Linux 上安裝或作為 Docker 容器使用。有關如何安裝 MongoDB,請參閱 MongoDB 官方 Community 安裝指南

MongoDB 伺服器的連接字串可以在 .env 檔案中設定:

MONGODB_URI="mongodb://localhost:27017"
MONGODB_DATABASE="laravel_app"

要在雲端託管 MongoDB,請考慮使用 MongoDB Atlas。 要從您的應用程式在本機存取 MongoDB Atlas 叢集,您需要在專案的 IP 存取清單中添加您自己的 IP 地址

MongoDB Atlas 的連接字串也可以在 .env 檔案中設定:

MONGODB_URI="mongodb+srv://<username>:<password>@<cluster>.mongodb.net/<dbname>?retryWrites=true&w=majority"
MONGODB_DATABASE="laravel_app"

安裝 Laravel MongoDB 套件

最後,使用 Composer 安裝 Laravel MongoDB 套件:

composer require mongodb/laravel-mongodb

[!NOTE] 如果未安裝 mongodb PHP 擴充套件,此套件的安裝將會失敗。PHP 配置在 CLI 和 Web 伺服器之間可能不同,因此請確保在兩種配置中都啟用了該擴充套件。

配置

您可以透過應用程式的 config/database.php 配置檔案來配置 MongoDB 連接。在此檔案中,添加一個使用 mongodb 驅動程式的 mongodb 連接:

'connections' => [
    'mongodb' => [
        'driver' => 'mongodb',
        'dsn' => env('MONGODB_URI', 'mongodb://localhost:27017'),
        'database' => env('MONGODB_DATABASE', 'laravel_app'),
    ],
],

功能特性

配置完成後,您可以在應用程式中使用 mongodb 套件和資料庫連接來利用各種強大功能:

要繼續學習如何使用 MongoDB 和 Laravel,請參閱 MongoDB 的 快速入門指南