> Что такое GridFS в MongoDB (JavaScript)
Уровень: junior · Роль: backend · Язык: JavaScript · Категория: Технические вопросы
Компании: ЭНИРАН
Стек: Node.js, MongoDB, JavaScript, Go
> Пример ответа
GridFS - это спецификация MongoDB для хранения и извлечения файлов, размер которых превышает лимит BSON-документа (16 МБ). Она разбивает файл на чанки (по умолчанию 255 КБ) и хранит их в двух коллекциях: fs.files (метаданные файла) и fs.chunks (бинарные данные). В контексте frontend-разработки на JavaScript с Node.js это полезно для загрузки больших файлов (например, видео или архивов) напрямую в MongoDB, минуя ограничения HTTP-запросов. Пример использования с драйвером Mongoose:
JAVASCRIPTconst mongoose = require('mongoose');const Grid = require('gridfs-stream');const conn = mongoose.connection;let gfs;conn.once('open', () => {gfs = Grid(conn.db, mongoose.mongo);});// Загрузка файлаconst writestream = gfs.createWriteStream({ filename: 'video.mp4' });fs.createReadStream('./video.mp4').pipe(writestream);// Чтение файлаconst readstream = gfs.createReadStream({ filename: 'video.mp4' });readstream.pipe(response); // отправка клиенту
GridFS удобен для хранения файлов в распределённой системе, но для простых сценариев (маленькие файлы) лучше использовать прямую вставку в BSON или внешние хранилища (S3).
> Похожие задачи по JavaScript
Как выявлять и исправлять утечки памяти
Как решать проблему нагрузки на CPU в сервисе
Расскажите про опыт работы с PostgreSQL
Как работать со сложными запросами в PostgreSQL
> Похожие задачи по backend
Доводилось ли работать с многопоточностью в Node.js
Как решать проблему нагрузки на CPU в сервисе
Расскажите про опыт работы с PostgreSQL
Как работать со сложными запросами в PostgreSQL
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью