6.8 KiB
						
					
					
				
			
		
		
	
	Table of Contents
- GridFile
 - GridFile#length
 - GridFile#chunkSize
 - GridFile#uploadDate
 - GridFile#md5
 - GridFile#filename
 - GridFile#contentType
 - GridFile#metadata
 - GridFile#aliases
 - GridFile#createdAt
 - GridFile#chunkSizeBytes
 - GridFile.getBucket
 - GridFile.findOneAndDelete
 - GridFile.findByIdAndDelete
 - GridFile#getUploadStream
 - GridFile#getDownloadStream
 - GridFile#uploadStream
 - GridFile#downloadStream
 - GridFile#upload
 - GridFile#download
 
GridFile
Mongoose schema for MongoDB GridFS
const mongoose = require('mongoose')
const schema = require('gridfile')
const GridFile = mongoose.model('GridFile', schema)
const gridFile = new GridFile()
GridFile#length
Type: Number
GridFile#chunkSize
Type: Number
GridFile#uploadDate
Type: Date
GridFile#md5
Type: String
GridFile#filename
A MD5 hash is auto-generated when a file is uploaded
Type: String
GridFile#contentType
Value is be used as contentType option when opening an upload stream: GridFSBucket#openUploadStream
Type: String
GridFile#metadata
Value is be used as metadata option when opening an upload stream: GridFSBucket#openUploadStream
Type: Any
GridFile#aliases
Value is be used as aliases option when opening an upload stream: GridFSBucket#openUploadStream
Type: [String]
GridFile#createdAt
Alias for GridFile#uploadDate
Type: Date
GridFile#chunkSizeBytes
Value is be used as chunkSizeBytes option when opening an upload stream: GridFSBucket#openUploadStream
Type: Number
GridFile.getBucket
Get the GridFS bucket created from the Mongoose connection
Type: Function
Examples
const bucket = GridFile.getBucket()
Returns GridFSBucket GridFS Bucket
GridFile.findOneAndDelete
Delete a file from GridFS using GridFSBucket#delete
Type: Function
Examples
const deletedFile = await GridFile.findOneAndDelete({ filename: 'image.png' })
Returns Promise<GridFile> Deleted GridFile as a Promise
GridFile.findByIdAndDelete
Delete a file from GridFS using GridFSBucket#delete
Type: Function
Examples
const deletedFile = await GridFile.findByIdAndDelete('some-id')
Returns Promise<GridFile> Deleted GridFile as a Promise
GridFile#getUploadStream
Get a GridFS stream to upload a file
Type: Function
Examples
const uploadStream = gridFile.getUploadStream()
Returns GridFSBucketWriteStream Upload Stream
GridFile#getDownloadStream
Get a GridFS stream to download a file
Type: Function
Examples
const downloadStream = gridFile.getDownloadStream()
Returns GridFSBucketReadStream Download Stream
GridFile#uploadStream
Upload a file to GridFS
Type: Function
Parameters
FileStreamStream Read stream of file to upload
Examples
const fs = require('fs')
const fileStream = fs.createReadStream('/path/to/file')
const uploadStream = gridFile.uploadStream(fileStream)
uploadStream.on('finish', (file) => {
 console.log(file)
})
Returns GridFSBucketWriteStream Upload Stream
GridFile#downloadStream
Download a file from GridFS
Type: Function
Parameters
FileStreamStream Write stream of file to download into
Examples
const fs = require('fs')
const fileStream = fs.createWriteStream('/path/to/file')
const DownloadStream = gridFile.downloadStream(fileStream)
fileStream.on('finish', () => {
 console.log('File downloaded successfully')
})
Returns GridFSBucketWriteStream Download Stream
GridFile#upload
Upload a file to GridFS
Type: Function
Parameters
Examples
const fs = require('fs')
const fileStream = fs.createReadStream('/path/to/file')
const uploadedFile = await gridFile.upload(fileStream)
// callback
gridFile.upload(filestream, (err, uploadedFile) => {
 if(err){
   console.error(err)
 } else {
   console.log(uploadedFile)
 }
})
Returns Promise<GridFile> GridFile as a Promise
GridFile#download
Download a file from GridFS
Type: Function
Parameters
Examples
const fs = require('fs')
const fileStream = fs.createWriteStream('/path/to/file')
await gridFile.download(fileStream)
// callback
gridFile.download(fileStream, (err){
 if(err){
   console.error(err)
 } else {
   console.log('File downloaded successfully')
 }
})
Returns Promise<Void> Promise