How to create a blob in mongodb using laravel?

Member

by adan , in category: MySQL , a month ago

How to create a blob in mongodb using laravel?

Facebook Twitter LinkedIn Telegram Whatsapp

1 answer

by herminia_bruen , a month ago

@adan 

To create a blob in MongoDB using Laravel, you can follow these steps:

  1. Install the MongoDB PHP driver and Laravel MongoDB package:
1
composer require jenssegers/mongodb


  1. Create a model for the blob data. For example, you can create a Blob model using the artisan command:
1
php artisan make:model Blob


  1. In the Blob model, define the connection to MongoDB and the fields for the blob data:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
namespace App;

use JenssegersMongodbEloquentModel as Eloquent;

class Blob extends Eloquent
{
    protected $connection = 'mongodb';
    protected $collection = 'blobs';

    protected $fillable = ['data'];
}


  1. Create a migration for the blobs collection using the following command:
1
php artisan make:migration create_blobs_collection


  1. In the migration file, define the schema for the blobs collection:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
use IlluminateDatabaseMigrationsMigration;
use JenssegersMongodbSchemaBlueprint;
use IlluminateSupportFacadesSchema;

class CreateBlobsCollection extends Migration
{
    public function up()
    {
        Schema::connection('mongodb')->create('blobs', function (Blueprint $collection) {
            $collection->binary('data');
            $collection->timestamps();
        });
    }

    public function down()
    {
        Schema::connection('mongodb')->dropIfExists('blobs');
    }
}


  1. Run the migration to create the blobs collection in MongoDB:
1
php artisan migrate


  1. To create a new blob in the database, you can use the Blob model:
1
2
3
4
5
use AppBlob;

$blob = new Blob();
$blob->data = file_get_contents('path/to/your/file');
$blob->save();


By following these steps, you can create a blob in MongoDB using Laravel.