You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
373 lines
6.8 KiB
373 lines
6.8 KiB
3 years ago
|
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
|
||
|
|
||
|
### Table of Contents
|
||
|
|
||
|
- [GridFile][1]
|
||
|
- [GridFile#length][2]
|
||
|
- [GridFile#chunkSize][3]
|
||
|
- [GridFile#uploadDate][4]
|
||
|
- [GridFile#md5][5]
|
||
|
- [GridFile#filename][6]
|
||
|
- [GridFile#contentType][7]
|
||
|
- [GridFile#metadata][8]
|
||
|
- [GridFile#aliases][9]
|
||
|
- [GridFile#createdAt][10]
|
||
|
- [GridFile#chunkSizeBytes][11]
|
||
|
- [GridFile.getBucket][12]
|
||
|
- [Examples][13]
|
||
|
- [GridFile.findOneAndDelete][14]
|
||
|
- [Examples][15]
|
||
|
- [GridFile.findByIdAndDelete][16]
|
||
|
- [Examples][17]
|
||
|
- [GridFile#getUploadStream][18]
|
||
|
- [Examples][19]
|
||
|
- [GridFile#getDownloadStream][20]
|
||
|
- [Examples][21]
|
||
|
- [GridFile#uploadStream][22]
|
||
|
- [Parameters][23]
|
||
|
- [Examples][24]
|
||
|
- [GridFile#downloadStream][25]
|
||
|
- [Parameters][26]
|
||
|
- [Examples][27]
|
||
|
- [GridFile#upload][28]
|
||
|
- [Parameters][29]
|
||
|
- [Examples][30]
|
||
|
- [GridFile#download][31]
|
||
|
- [Parameters][32]
|
||
|
- [Examples][33]
|
||
|
|
||
|
## GridFile
|
||
|
|
||
|
Mongoose schema for MongoDB GridFS
|
||
|
|
||
|
```javascript
|
||
|
const mongoose = require('mongoose')
|
||
|
const schema = require('gridfile')
|
||
|
|
||
|
const GridFile = mongoose.model('GridFile', schema)
|
||
|
|
||
|
const gridFile = new GridFile()
|
||
|
```
|
||
|
|
||
|
## GridFile#length
|
||
|
|
||
|
Type: [Number][34]
|
||
|
|
||
|
## GridFile#chunkSize
|
||
|
|
||
|
Type: [Number][34]
|
||
|
|
||
|
## GridFile#uploadDate
|
||
|
|
||
|
Type: [Date][35]
|
||
|
|
||
|
## GridFile#md5
|
||
|
|
||
|
Type: [String][36]
|
||
|
|
||
|
## GridFile#filename
|
||
|
|
||
|
A MD5 hash is auto-generated when a file is uploaded
|
||
|
|
||
|
Type: [String][36]
|
||
|
|
||
|
## GridFile#contentType
|
||
|
|
||
|
Value is be used as `contentType` option when opening an upload stream: [GridFSBucket#openUploadStream][37]
|
||
|
|
||
|
Type: [String][36]
|
||
|
|
||
|
## GridFile#metadata
|
||
|
|
||
|
Value is be used as `metadata` option when opening an upload stream: [GridFSBucket#openUploadStream][37]
|
||
|
|
||
|
Type: Any
|
||
|
|
||
|
## GridFile#aliases
|
||
|
|
||
|
Value is be used as `aliases` option when opening an upload stream: [GridFSBucket#openUploadStream][37]
|
||
|
|
||
|
Type: \[[String][36]]
|
||
|
|
||
|
## GridFile#createdAt
|
||
|
|
||
|
Alias for GridFile#uploadDate
|
||
|
|
||
|
Type: [Date][35]
|
||
|
|
||
|
## GridFile#chunkSizeBytes
|
||
|
|
||
|
Value is be used as `chunkSizeBytes` option when opening an upload stream: [GridFSBucket#openUploadStream][37]
|
||
|
|
||
|
Type: [Number][34]
|
||
|
|
||
|
## GridFile.getBucket
|
||
|
|
||
|
Get the GridFS bucket created from the Mongoose connection
|
||
|
|
||
|
Type: [Function][38]
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
```javascript
|
||
|
const bucket = GridFile.getBucket()
|
||
|
```
|
||
|
|
||
|
Returns **GridFSBucket** GridFS Bucket
|
||
|
|
||
|
## GridFile.findOneAndDelete
|
||
|
|
||
|
Delete a file from GridFS using [GridFSBucket#delete][39]
|
||
|
|
||
|
Type: [Function][38]
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
```javascript
|
||
|
const deletedFile = await GridFile.findOneAndDelete({ filename: 'image.png' })
|
||
|
```
|
||
|
|
||
|
Returns **[Promise][40]<[GridFile][41]>** Deleted GridFile as a Promise
|
||
|
|
||
|
## GridFile.findByIdAndDelete
|
||
|
|
||
|
Delete a file from GridFS using [GridFSBucket#delete][39]
|
||
|
|
||
|
Type: [Function][38]
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
```javascript
|
||
|
const deletedFile = await GridFile.findByIdAndDelete('some-id')
|
||
|
```
|
||
|
|
||
|
Returns **[Promise][40]<[GridFile][41]>** Deleted GridFile as a Promise
|
||
|
|
||
|
## GridFile#getUploadStream
|
||
|
|
||
|
Get a GridFS stream to upload a file
|
||
|
|
||
|
Type: [Function][38]
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
```javascript
|
||
|
const uploadStream = gridFile.getUploadStream()
|
||
|
```
|
||
|
|
||
|
Returns **GridFSBucketWriteStream** Upload Stream
|
||
|
|
||
|
## GridFile#getDownloadStream
|
||
|
|
||
|
Get a GridFS stream to download a file
|
||
|
|
||
|
Type: [Function][38]
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
```javascript
|
||
|
const downloadStream = gridFile.getDownloadStream()
|
||
|
```
|
||
|
|
||
|
Returns **GridFSBucketReadStream** Download Stream
|
||
|
|
||
|
## GridFile#uploadStream
|
||
|
|
||
|
Upload a file to GridFS
|
||
|
|
||
|
Type: [Function][38]
|
||
|
|
||
|
### Parameters
|
||
|
|
||
|
- `FileStream` **[Stream][42]** Read stream of file to upload
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
```javascript
|
||
|
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][38]
|
||
|
|
||
|
### Parameters
|
||
|
|
||
|
- `FileStream` **[Stream][42]** Write stream of file to download into
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
```javascript
|
||
|
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][38]
|
||
|
|
||
|
### Parameters
|
||
|
|
||
|
- `FileStream` **[Stream][42]** Read stream of file to upload
|
||
|
- `Callback` **[Function][38]** Callback function
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
```javascript
|
||
|
const fs = require('fs')
|
||
|
|
||
|
const fileStream = fs.createReadStream('/path/to/file')
|
||
|
const uploadedFile = await gridFile.upload(fileStream)
|
||
|
```
|
||
|
|
||
|
```javascript
|
||
|
// callback
|
||
|
gridFile.upload(filestream, (err, uploadedFile) => {
|
||
|
if(err){
|
||
|
console.error(err)
|
||
|
} else {
|
||
|
console.log(uploadedFile)
|
||
|
}
|
||
|
})
|
||
|
```
|
||
|
|
||
|
Returns **[Promise][40]<[GridFile][41]>** GridFile as a Promise
|
||
|
|
||
|
## GridFile#download
|
||
|
|
||
|
Download a file from GridFS
|
||
|
|
||
|
Type: [Function][38]
|
||
|
|
||
|
### Parameters
|
||
|
|
||
|
- `FileStream` **[Stream][42]** Write stream of file to download into
|
||
|
- `Callback` **[Function][38]** Callback function
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
```javascript
|
||
|
const fs = require('fs')
|
||
|
|
||
|
const fileStream = fs.createWriteStream('/path/to/file')
|
||
|
await gridFile.download(fileStream)
|
||
|
```
|
||
|
|
||
|
```javascript
|
||
|
// callback
|
||
|
gridFile.download(fileStream, (err){
|
||
|
if(err){
|
||
|
console.error(err)
|
||
|
} else {
|
||
|
console.log('File downloaded successfully')
|
||
|
}
|
||
|
})
|
||
|
```
|
||
|
|
||
|
Returns **[Promise][40]<Void>** Promise
|
||
|
|
||
|
[1]: #gridfile
|
||
|
|
||
|
[2]: #gridfilelength
|
||
|
|
||
|
[3]: #gridfilechunksize
|
||
|
|
||
|
[4]: #gridfileuploaddate
|
||
|
|
||
|
[5]: #gridfilemd5
|
||
|
|
||
|
[6]: #gridfilefilename
|
||
|
|
||
|
[7]: #gridfilecontenttype
|
||
|
|
||
|
[8]: #gridfilemetadata
|
||
|
|
||
|
[9]: #gridfilealiases
|
||
|
|
||
|
[10]: #gridfilecreatedat
|
||
|
|
||
|
[11]: #gridfilechunksizebytes
|
||
|
|
||
|
[12]: #gridfilegetbucket
|
||
|
|
||
|
[13]: #examples
|
||
|
|
||
|
[14]: #gridfilefindoneanddelete
|
||
|
|
||
|
[15]: #examples-1
|
||
|
|
||
|
[16]: #gridfilefindbyidanddelete
|
||
|
|
||
|
[17]: #examples-2
|
||
|
|
||
|
[18]: #gridfilegetuploadstream
|
||
|
|
||
|
[19]: #examples-3
|
||
|
|
||
|
[20]: #gridfilegetdownloadstream
|
||
|
|
||
|
[21]: #examples-4
|
||
|
|
||
|
[22]: #gridfileuploadstream
|
||
|
|
||
|
[23]: #parameters
|
||
|
|
||
|
[24]: #examples-5
|
||
|
|
||
|
[25]: #gridfiledownloadstream
|
||
|
|
||
|
[26]: #parameters-1
|
||
|
|
||
|
[27]: #examples-6
|
||
|
|
||
|
[28]: #gridfileupload
|
||
|
|
||
|
[29]: #parameters-2
|
||
|
|
||
|
[30]: #examples-7
|
||
|
|
||
|
[31]: #gridfiledownload
|
||
|
|
||
|
[32]: #parameters-3
|
||
|
|
||
|
[33]: #examples-8
|
||
|
|
||
|
[34]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
|
||
|
|
||
|
[35]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date
|
||
|
|
||
|
[36]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
|
||
|
|
||
|
[37]: https://mongodb.github.io/node-mongodb-native/3.6/api/GridFSBucket.html#openUploadStream
|
||
|
|
||
|
[38]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
|
||
|
|
||
|
[39]: https://mongodb.github.io/node-mongodb-native/3.6/api/GridFSBucket.html#delete
|
||
|
|
||
|
[40]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
|
||
|
|
||
|
[41]: #gridfile
|
||
|
|
||
|
[42]: https://nodejs.org/api/stream.html
|