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