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
FileStream
Stream 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
FileStream
Stream 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