Kami Hadir Membantu Anda Dalam Pengembangan Usaha Anda

Ketapang, Kalimantan Barat elektranetworkvision@gmail.com
Posted On June 22, 2025

πŸ“₯ Belajar Laravel dari Nol – Part 12: Import Data dari Excel ke CouchDB dan MongoDB

elektra_network 0 comments

Import data dari file Excel sangat penting untuk mengisi data awal aplikasi. Pada part ini kita fokus pada dua skenario database modern: NoSQL berbasis dokumen, yaitu CouchDB dan MongoDB, yang mulai banyak digunakan di skala enterprise dan big data.

Artikel ini dibuat dengan analisa teknis mendalam dan SEO maksimal sesuai kebutuhan developer Laravel modern.


🎯 Tujuan Part 12

  • Import file Excel (.xlsx) ke Laravel
  • Memproses data Excel ke struktur array
  • Simpan data ke MongoDB dan CouchDB via Laravel
  • Gunakan package Laravel Excel dan PHPOnCouch/MongoDB PHP Driver

πŸ› οΈ 1. Instalasi Laravel Excel

composer require maatwebsite/excel

Buat import class:

php artisan make:import ProdukImport

🧾 2. Setup Import Class

Contoh untuk struktur data produk:

πŸ“ app/Imports/ProdukImport.php

use Maatwebsite\Excel\Concerns\ToCollection;
use Illuminate\Support\Collection;

class ProdukImport implements ToCollection
{
    public function collection(Collection $rows)
    {
        foreach ($rows as $index => $row) {
            if ($index === 0) continue; // skip header

            $data = [
                'nama' => $row[0],
                'kategori' => $row[1],
                'harga' => (int) $row[2],
            ];

            // Simpan ke CouchDB atau MongoDB
        }
    }
}

πŸƒ 3. Simpan ke MongoDB

a. Instal MongoDB Driver Laravel

composer require jenssegers/mongodb

Ubah koneksi di config/database.php:

'mongodb' => [
    'driver'   => 'mongodb',
    'host'     => '127.0.0.1',
    'port'     => 27017,
    'database' => 'laravel_mongo',
],

Model Mongo:

use Jenssegers\Mongodb\Eloquent\Model;

class ProdukMongo extends Model
{
    protected $connection = 'mongodb';
    protected $collection = 'produk';
    protected $fillable = ['nama', 'kategori', 'harga'];
}

Simpan di collection() import:

ProdukMongo::create($data);

πŸ›‹οΈ 4. Simpan ke CouchDB

a. Instal PHPOnCouch

composer require php-on-couch/php-on-couch

Konfigurasi koneksi:

use \PHPOnCouch\CouchClient;

$client = new CouchClient("http://127.0.0.1:5984", "produkdb");

Simpan dokumen di dalam collection():

$doc = (object) $data;
$client->storeDoc($doc);

πŸ“€ 5. Buat Controller Upload

use App\Imports\ProdukImport;
use Maatwebsite\Excel\Facades\Excel;

public function import(Request $request)
{
    $request->validate([
        'file' => 'required|file|mimes:xlsx,xls',
    ]);

    Excel::import(new ProdukImport, $request->file('file'));

    return back()->with('success', 'Data berhasil diimport.');
}

πŸ“ 6. Blade View Upload

<form action="{{ route('produk.import') }}" method="POST" enctype="multipart/form-data">
  @csrf
  <input type="file" name="file">
  <button type="submit">Import</button>
</form>

🧠 Tips & Best Practice

AspekRekomendasi
Validasi dataPastikan struktur Excel konsisten
Cek duplikasiGunakan unique key sebelum insert
Penamaan dokumenGunakan _id yang unik (untuk CouchDB)
Gunakan queueUntuk import besar, jalankan via queue worker
Audit data masukSimpan log siapa upload dan kapan

🧰 Elektra Network Vision – Integrasi Laravel + NoSQL

Kami bantu:

  • Migrasi data Excel ke MongoDB dan CouchDB
  • Optimasi performa insert + validasi
  • UI upload data berbasis role & secure

🌐 elektranetworkvision.com β€” Solusi Laravel + NoSQL handal untuk aplikasi data besar dan cepat.

One thought on “πŸ“₯ Belajar Laravel dari Nol – Part 12: Import Data dari Excel ke CouchDB dan MongoDB”

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

πŸ” Belajar Laravel dari Nol – Part 6: Autentikasi, Login & Middleware

Laravel menyediakan sistem autentikasi yang powerful dan fleksibel. Dengan Laravel Breeze atau Laravel Fortify, kamu…

Belajar Next.js dari Nol – Part 1: Pengenalan & Setup Awal

Next.js adalah framework React yang dirancang untuk membuat aplikasi web modern, cepat, dan SEO-friendly. Banyak…

Pemilihan Database Aplikasi Web 2025: MySQL, MongoDB, CouchDB & Lainnya

MySQL, MongoDB, CouchDB, dan Lainnya πŸ—„οΈ Panduan Lengkap Pemilihan Database untuk Aplikasi Web di 2025:…