MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Laravel - Mongodb [ jenssegers/laravel-mongodb ] - Конструктор на схеми

Знам, че е малко късно, но реших да добавя малко код тук. Харесва ми да имам индексиран модел по две причини:

  1. Мога да го използвам като интерфейс, т.е. принуден съм да въведа тази информация, защото е част от това, което моделът изисква. Това гарантира, че имам чист набор от данни. Това е просто предпочитание, не е изискване.
  2. Индексираните търсения са по-бързи, отколкото когато не са индексирани.Не съм направил достатъчно проучване за това, за да разбера дали това е случаят с библиотеката на jenssegers . Но за мен има смисъл, че ако използвате схема за създаване на колекция и я настроите да индексира тези полета, тогава ще бъде по-бързо, когато търсите записи в тази колекция. Можете също да настроите това ръчно от страна на Mongo, но ми харесва, че можете да го направите с това разширение Eloquent.

Така че към човека, който чете това, ако съм ви убедил с този непроверен аргумент и бихте искали да настроите схема, открих, че е лесно да настроите колекцията, но не е лесно да я пуснете. Ако искате да извършите пълна миграция (имайте предвид, че ще загубите всичките си данни, когато направите това ), тогава можете да използвате кода по-долу:

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateYourCollectionTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::connection('mongodb')->create('collection_name', function ($collection) {
            $collection->index('field_1');
            $collection->index('field_2');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        DB::connection('mongodb')->drop(['collection_name']);
    }
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB връзки за обекти

  2. Ограничението за размер на един документ на MongoDB е 16MB

  3. Агрегирането на mongoDB се връща празно

  4. mongodb:съхраняване на йерархична дървовидна структура?

  5. MongoDB $anyElementTrue