skipper-gridfs-replica

A skipper adapter to allow uploading files to MongoDB's GridFS

Usage no npm install needed!

<script type="module">
  import skipperGridfsReplica from 'https://cdn.skypack.dev/skipper-gridfs-replica';
</script>

README

skipper emblem - face of a ship's captain GridFS Filesystem Adapter

NPM version     Build Status

GridFS adapter for receiving upstreams. Particularly useful for handling streaming multipart file uploads from the Skipper body parser.

========================================

Installation

$ npm install skipper-gridfs --save

Also make sure you have skipper installed as your body parser.

Skipper is installed by default in Sails v0.10.

========================================

Usage

req.file('avatar')
.upload({
  adapter: require('skipper-gridfs'),
  uri: 'mongodb://jimmy@j1mtr0n1xx@mongo.jimmy.com:27017/coolapp.avatar_uploads'
}, function whenDone(err, uploadedFiles) {
  if (err) return res.negotiate(err);
  else return res.ok({
    files: uploadedFiles,
    textParams: req.params.all()
  });
});

For more detailed usage information and a full list of available options, see the Skipper docs, especially the section on "Uploading to GridFS".

One important adapter-specific option to note is uri:

Option Type Details
uri ((string)) An optional parameter if you wish the enter your mongodb credentials as a URI, e.g. mongodb://username:password@localhost:27107/databasename.bucket.
(Check mongo client URI syntax).
connectOpts ((object)) An optional parameter if you wish the enter your mongodb connection options credentials as an object e.g. { server: { ssl: true, sslCA: 'CA_CERT', sslKey: 'SSL_KEY', sslCert: 'SSL_CERT' }, replSet: { rs_name: 'rs0', ssl:true} }
(Check mongo client connection options).

Note: Please use uri instead of passing in separate options for username, password, host, port, dbname and bucket

In addition to the regular file adapter methods, these additional methods are also available:

Method Description
readLastVersion() Get the most recent version of a file in GridFS
readVersion() Get a specific version of a file in GridFS

These methods mimic get_last_version and get_version from pymongo's gridfs implementation.

========================================

Contributions

are welcomed :ok_hand:

See ROADMAP.md.

Also be sure to check out ROADMAP.md in the Skipper repo.

To run the tests:

$ URI=mongodb://username:password@localhost:27107/databasename.bucket npm test

========================================

License

MIT