メインコンテンツまでスキップ
バージョン: 12.x

モンゴDB (MongoDB)

導入 (Introduction)

MongoDB は、最も人気のある NoSQL ドキュメント指向データベースの 1 つで、高い書き込み負荷 (分析や IoT に便利) と高可用性 (自動フェイルオーバーを備えたレプリカ セットの設定が簡単) のために使用されます。また、データベースを簡単にシャーディングして水平方向のスケーラビリティを実現し、集計、テキスト検索、地理空間クエリを実行するための強力なクエリ言語を備えています。

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

インストール (Installation)

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 コミュニティ インストール ガイド を参照してください。

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

mongodb PHP 拡張機能がインストールされていない場合、パッケージのこのインストールは失敗します。 PHP 設定は CLI と Web サーバー間で異なる場合があるため、両方の設定で拡張機能が有効になっていることを確認してください。

構成 (Configuration)

アプリケーションの config/database.php 構成ファイルを介して MongoDB 接続を構成できます。このファイル内に、mongodb ドライバを利用する mongodb 接続を追加します。

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

特徴 (Features)

構成が完了したら、アプリケーションで mongodb パッケージとデータベース接続を使用して、さまざまな強力な機能を活用できます。

MongoDB と Laravel の使用方法を学習し続けるには、MongoDB の クイックスタートガイド を参照してください。