{"id":42821,"library":"gridfile","title":"GridFile - Mongoose Schema for MongoDB GridFS","description":"GridFile is a reusable Mongoose schema for MongoDB GridFS, enabling file upload/download directly through your Mongoose connection without separate GridFS setup. Current stable version is 1.1.6. It integrates with Mongoose models and supports streaming uploads and downloads. Differentiator: provides a clean Mongoose-based API for GridFS operations, unlike lower-level drivers or separate libraries.","status":"active","version":"1.1.6","language":"javascript","source_language":"en","source_url":"https://github.com/abskmj/gridfile","tags":["javascript","mongoose","mongoose-schema","mongoose-model","mongodb","gridfs"],"install":[{"cmd":"npm install gridfile","lang":"bash","label":"npm"},{"cmd":"yarn add gridfile","lang":"bash","label":"yarn"},{"cmd":"pnpm add gridfile","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; GridFile requires Mongoose to interact with MongoDB GridFS","package":"mongoose","optional":false}],"imports":[{"note":"Package uses default CommonJS export; in ESM use: import schema from 'gridfile' (works with 'default')","wrong":"import schema from 'gridfile'","symbol":"schema","correct":"const schema = require('gridfile')"},{"note":"Named import does not exist; the module exports a single schema object as default","wrong":"import { schema } from 'gridfile'","symbol":"default","correct":"import schema from 'gridfile'"}],"quickstart":{"code":"const mongoose = require('mongoose');\nconst schema = require('gridfile');\n\nmongoose.connect('mongodb://localhost:27017/test');\n\nconst GridFile = mongoose.model('GridFile', schema);\n\nconst gridFile = new GridFile();\ngridFile.filename = 'test.txt';\ngridFile.metadata = { user: 'alice' };\n\nconst stream = fs.createReadStream('test.txt');\nawait gridFile.upload(stream);\n\nconst id = gridFile._id;\nconst found = await GridFile.findById(id);\nconst downloadStream = fs.createWriteStream('downloaded.txt');\nawait found.download(downloadStream);","lang":"javascript","description":"Demonstrates connecting to MongoDB, creating a GridFile model, uploading a file stream, and downloading by ID."},"warnings":[{"fix":"Check documentation for any migration guide before upgrading.","message":"The schema method 'upload' may change in future versions; use with caution.","severity":"deprecated","affected_versions":"<=1.1.6"}],"env_vars":null,"search_vec":"'1.1.6':32 'api':51 'base':50 'clean':47 'connect':23 'current':28 'differenti':44 'direct':19 'download':43 'driver':59 'enabl':16 'file':17 'gridf':6,15,26,53,72 'gridfil':1,7 'integr':34 'javascript':63 'level':58 'librari':62 'lower':57 'lower-level':56 'model':37,70 'mongodb':5,14,71 'mongoos':2,11,22,36,49,64,66,69 'mongoose-bas':48 'mongoose-model':68 'mongoose-schema':65 'oper':54 'provid':45 'reusabl':10 'schema':3,12,67 'separ':25,61 'setup':27 'stabl':29 'stream':40 'support':39 'unlik':55 'upload':41 'upload/download':18 'version':30 'without':24","created_at":"2026-06-05T16:56:49.488977+00:00","updated_at":"2026-06-05T16:56:49.488977+00:00","problems":[{"fix":"Ensure mongoose.connect() is called before mongoose.model()","cause":"Missing mongoose connection before creating model.","error":"Error: The schema is not registered on the model."}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/abskmj/gridfile","github":"https://github.com/abskmj/gridfile","docs":null,"changelog":null,"pypi":null,"npm":"gridfile","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}