Cara Install dan Setup MongoDB di Laravel

Catatan: Saya pakai Windows ya


Download dan Install MongoDB

https://www.mongodb.com/try/download/community

Buat dulu databasenya.

Kemudian buat collection. Collection ini adalah sebutan untuk tabel di MongoDB. Di sini, saya buat collection dengan nama posts. 

Lalu isi satu data secara manual. Klik tombol ADD DATA > Insert Document dan masukkan data berikut.

{ 
   "title":"First Blog Post",
   "body" :"Lorem Ipsum, etc.",
   "slug" :"first-blog-post"
}

Cara memasukkannya sepertini ini, cukup di paste di bawah "_id" 




Buka folder root project dan cari composer.json. Di san tambahkan data baru yaitu provide. Seperti di bawah ini. Yang lain dihiraukan aja ya


Install library Jenssegers di Laravel

composer require jenssegers/mongodb

Buat model untuk koneksi ke collection (tabel) nya di dalam folder app/Models dan berikan nama Post.php. Berikut kode yang dimasukkan.


<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Jenssegers\Mongodb\Eloquent\Model;

class Post extends Model
{
    use HasFactory;
    protected $collection = 'posts';
}


Selanjutnya coba panggil datanya. 


Buat controller dengan nama PostController.php dan berikan kode berikut:


<?php

namespace App\Http\Controllers;

use App\Models\Post;
use Illuminate\Http\Request;

class PostController extends Controller
{
    public function show($slug)
    {
        return Post::where('slug', '=', $slug)->first();
        
    }
}

Setting url di route nya


Route::get('/admin/post/{slug}', [PostController::class, 'show']);

Jangan lupda panggil Controllernya di atas Routenya ya


use App\Http\Controllers\PostController;


Saatnya kita melakukan pengetesan. Ketik di url sesuai dengan format route yang dibuat sebelumnya. Kalau saya pakai url /admin/post/{slug}

Selamat, teman teman sudah berhasil koneksi Laravel dengan MongoDB