Мы используем PHP7, последний пакет MongoDB PECL (1.2.2) — Laravel 5.3 — jenssegers / laravel-mongodb 3.1
Я хочу использовать GridFS. Обычно он доступен в пакете MongoDB PECL, но нет ни документации, ни примера рабочего кода.
Ты можешь использовать Bucket
класс для загрузки и скачивания документов в сетку mongodb на драйвере mongo-php-library 2.2.
//upload file
$bucket = \DB::connection('mongodb')->getMongoDB()->selectGridFSBucket();
$resource = fopen($file_path, "a+");
$file_id = $bucket->uploadFromStream($file_path, $resource);
//download file
$bucket = \DB::connection('mongodb')->getMongoDB()->selectGridFSBucket();
$file_metadata = $bucket->findOne(["_id" => $file_id]);
$path = $file_metadata->filename;
if(!file_exists($path)) {
$downloadStream = $bucket->openDownloadStream($file_id);
$stream = stream_get_contents($downloadStream, -1);
$ifp = fopen($path, "a+");
fwrite($ifp, $stream);
fclose($ifp);
}
Вы можете пройти через это ссылка на сайт. Это показывает, как вы можете использовать gridFS с Laravel-mongodb, а также вам может понадобиться обновить драйверы mongo db для этого.
Другая ссылка на сайт для вашей справки.
Хотя там нет примера кода, но он поможет вам, если вы работали над Mongo с Laravel.
Надеюсь, это поможет вам