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