# mongo-microservice

> Opinionated worker/microservice base

Latest version **0.1.5** (published 2019-05-22) · MIT license · 0 weekly downloads

## Install

```sh
npm install mongo-microservice
pnpm add mongo-microservice
yarn add mongo-microservice
bun add mongo-microservice
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.5 |
| Published | 2019-05-22 |
| First published | 2016-08-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 7 |
| Unpacked size | 23 KB |
| Known vulnerabilities | 0 (+3 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Andrew Silluron |
| Maintainers | asilluron |

## Links

- npm: https://www.npmjs.com/package/mongo-microservice
- Repository: https://github.com/asilluron/mongo-microservice
- Homepage: https://github.com/asilluron/mongo-microservice#readme
- Issues: https://github.com/asilluron/mongo-microservice/issues
- npm.io page: https://npm.io/package/mongo-microservice

## Dependencies (7)

- [save](https://npm.io/package/save.md) ^2.3.0
- [logfmt](https://npm.io/package/logfmt.md) ^1.2.0
- [mongodb](https://npm.io/package/mongodb.md) ^3.2.5
- [mongoose](https://npm.io/package/mongoose.md) ^5.5.10
- [jackrabbit](https://npm.io/package/jackrabbit.md) ^4.4.0
- [@types/node](https://npm.io/package/@types/node.md) ^12.0.2
- [@types/mongoose](https://npm.io/package/@types/mongoose.md) ^5.5.1

## Recent versions

- 0.1.5 (latest) — 2019-05-22
- 0.1.4 — 2019-05-21
- 0.1.3 — 2019-05-21
- 0.1.2 — 2019-05-21
- 0.1.0 — 2016-09-19
- 0.0.4 — 2016-08-23
- 0.0.2 — 2016-08-08
- 0.0.1 — 2016-08-05
- 0.0.0 — 2016-08-05

## README

# mongo-microservice
Opinionated Node microservice/worker base intended to utilized MongoDB + RabbitMQ

## Usage
```
let Service = require('mongo-microservice');
const QUEUE_NAME = 'example';
class ExampleService extends Service {

  constructor (config) {
    super(process.env.mongoUri, process.env.rabbitUri);
    this.addQueues([{name: QUEUE_NAME, handler: this._handleExample}]);
    this.mongoose = this.getMongooseReference();
  }

  _handleExample (payload, ack) {
    console.log(payload);
    ack();
  }

  start () {
    super.start();

    this.publish(QUEUE_NAME, 'Hello World');
}

module.exports = ExampleService;

```

## API
* addQueues

## Events

---
_Source: https://npm.io/package/mongo-microservice · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
