برای اتصال لاراول به mongodb فرمان زیر را اجرا می کنیم:
composer require jenssegers/mongodb
حتما قبل از نصب توجه داشته باشید که درایور mongodb برای php نصب باشد.سپس کلاس زیر را به service provider در config/app.php اضافه می کنیم.
Jenssegers\Mongodb\MongodbServiceProvider::class,
توجه داشته باشید کلاس mongodb در مدل شما فراخوانی شود به مثال زیر توجه کنید.
use Jenssegers\Mongodb\Eloquent\Model as Eloquent; class User extends Eloquent {}
حالا به فایل config/database.php تغییرات زیر را انجام دهید:
'default' => env('DB_CONNECTION', 'mongodb'),
و connection زیر را برای اتصال به mongodb اضافه کنید:
'mongodb' => [ 'driver' => 'mongodb', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', 27017), 'database' => env('DB_DATABASE'), 'username' => env('DB_USERNAME'), 'password' => env('DB_PASSWORD'), 'options' => [ 'replicaSet' => 'replicaSetName' ] ],
همچنین شما می توانید برای اتصال به mongodb از ویژگی (property) به نام connection استفاده کنید به مثال زیر توجه کنید:
use Jenssegers\Mongodb\Eloquent\Model as Eloquent; class MyModel extends Eloquent { protected $connection = 'mongodb'; }
برای ساخت query از collection به جای table استفاده می کنیم به مثال زیر توجه کنید:
$users = DB::collection('users')->get(); $user = DB::collection('users')->where('name', 'John')->first();
اگر می خواهید دیتابیس پیش فرض را عوض کنید از دستور زیر استفاده می کنید:
$user = DB::connection('mongodb')->collection('users')->get();
برای سخت جداول از دستورات زیر می توانیم استفاده کنیم:
Schema::create('users', function($collection)
{
$collection->index('name');
$collection->unique('email');
});
همچنین از دستوراتی مانند: