An open API service indexing awesome lists of open source software.

https://github.com/mongoosejs/mongoose-async-hooks

Node.js async hooks support for mongoose
https://github.com/mongoosejs/mongoose-async-hooks

Last synced: 2 months ago
JSON representation

Node.js async hooks support for mongoose

Awesome Lists containing this project

README

        

# mongoose-async-hooks

[Mongoose](http://mongoosejs.com/) plugin providing experimental support for [Node.js `async_hooks`](https://nodejs.org/api/async_hooks.html)

[![Build Status](https://secure.travis-ci.org/mongoosejs/mongoose-async-hooks.png)](http://travis-ci.org/mongoosejs/mongoose-async-hooks)

# Importing

```javascript
// Using Node.js `require()`
const mongooseAsyncHooks = require('@mongoosejs/async-hooks');

// Using ES6 imports
import mongooseAsyncHooks from '@mongoosejs/async-hooks';
```

# Examples

## It integrates with Node.js async hooks

```javascript
const types = [];
const hooks = {
init: (asyncId, type) => {
types.push(type);
}
};

const asyncHook = require('async_hooks').createHook(hooks);

const schema = new Schema({ name: String });

// Add this plugin
schema.plugin(mongooseAsyncHooks);

const MyModel = mongoose.model('MyModel', schema);

asyncHook.enable();

const doc = new MyModel({ name: 'test' });
doc.save(function(error, doc) {
asyncHook.disable();

assert.ok(types.includes('mongoose.MyModel'));
});
```