Manage files using minio as file storage and mongodb for metadata

Mongo, MinIO, Storage, File, Hapiness, Framework, NodeJS, Node, HTTP, API, REST, Streams, Async, Decorator, RxJS, Rx, ReactiveX, Observable, Observer, Module, ES2015, ES2016, ES2017, ES6, ES7, ES8, Typescript
npm install @hapiness/mingo@2.3.0



mingo module

This module helps you manage files with minio as file storage and mongodb for metadata.

It uses @hapiness/minio module and @hapiness/mongodb module.

Table of contents

Back to top


In your service:

class MyService {

    constructor(private _mingoService) {}

    uploadFile(...) {
        this._mingoService.fromBucket('my_bucket').createFromStream(input, filename, 'image/jpeg', metadata);

Change History

  • v2.0.0 (2019-02-15)
    • Breaking Change: Add bucket name in the file document
  • v1.4.0 (2019-02-14 🌹)
    • Added a new repository layer
    • Implemented a basic retry strategy for compatibility with comsodb error 429. (No impact on mongodb)
    • Added a new optional config option db.maxRetryAttempts: Number to determine max number of retry on cosmo retry strategy. Default is 9.
  • v1.3.0 (2019-01-30)
    • Update to @hapiness/core 1.6.x
    • Update to @hapiness/minio 2.0.1
  • v1.2.0 (2018-04-25)
    • Update to @hapiness/mongo 2.x
  • v1.1.2 (2018-02-14)
    • MingoModel now have an id exposed.
    • Fix when calling the toJson method but value returned by mongo is null.
  • v1.1.1 (2018-02-13)
    • Fix returned object, now doesn't include mongoose metadata
  • v1.1.0 (2018-01-30)
    • Update mingo model
    • Minor code updates
  • v1.0.0 (2018-01-18)
    • First release

Back to top


Julien Fauville Antoine Gomez Sébastien Ritz Nicolas Jessel Florent Bennani

Back to top


Copyright (c) 2017 Hapiness Licensed under the MIT license.

Back to top