Help us understand the problem. What is going on with this article?

Laravel MongoDBのmigrateで複合インデックスを設定

More than 1 year has passed since last update.

概要

LaravelでMongoDBを使用する時に、jenssegers/laravel-mongodbというライブラリを使用するケースが多いと思います。このライブラリでもdbのmigrateは可能なのですが、複合インデックスが設定できるか試してみました。

参考

@komatzzさんのLaravel のマイグレーションで複合インデックスにしつつインデックス名を指定する方法
の記事を参考に、MongoDB用にマイグレーションファイルを編集して試してみました。

マイグレーションファイル

普通のインデックスとuniqueインデックスを設定。

2019_08_01_164256_initial_collections.php
<?php

use Jenssegers\Mongodb\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class InitialCollections extends Migration
{
    protected $connection = 'mongodb';

    public function up()
    {
        Schema::connection($this->connection)
            ->table('index_sample', function (Blueprint $collection)
            {
                $collection->index(['index1', 'index2']);
                $collection->unique(['unique1', 'unique2']);
            });
    }
}

実行結果

複合インデックスを設定できました。
スクリーンショット 2019-08-02 1.57.28.png

someone7140
まだまだ修行中のエンジニアです。ちゃんとサービスを作れるようになりたいです。
http://toaruit.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away