0.0.4 • Published 6 years ago

mongoose-uploader v0.0.4

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

mongoose-uploader

Build Status NPM version Dependency Status

Mongoose uploader plugin for apollo-upload-server.

Installation

npm install mongoose-uploader --save

Usage

Setup

Use mongoose uploader plugin.

const mongoose = require('mongoose');
const uploaderPlugin = require('mongoose-uploader');
// This hooks up your models and uploader plugin.
mongoose.plugin(uploaderPlugin);

Defining Model

When defining the model field, just use File type with an uploader property.

const mongoose = require('mongoose');
const { Schema } = mongoose;
const { File } = Schema.Types;
const ImageUploader = require('../uploaders/ImageUploader');

module.exports = new Schema({
  name: String,
  age: Number,
  avatar: { type: File, uploader: ImageUploader },
  photos: [{ type: File, uploader: ImageUploader }]
});

Writing Uploader

An uploader is created with your own config by uploader packages.

const { createAliOSSUploader } = require('mongoose-uploader-ali-oss');

const ImageUploader = createAliOSSUploader({
  bucket: 'your-bucket-name',
  region: 'oss-cn-shanghai',
  accessKeyId: '<your access key id>',
  accessKeySecret: '<your access key secret>'
});

module.exports = ImageUploader;

Base Uploaders

Changelog

  • Version 0.0.1 (2018-07-27)
    • Auto upload when a document is saving to database
  • Version 0.0.2 (2018-07-31)
    • Auto remove uploads when a document is removed
    • Auto remove uploads when a field is assigned a new value
  • Version 0.0.3 (2018-08-01)
    • Random filename
    • Base uploader that provides random filename feature