Skip to content

Latest commit

 

History

History
47 lines (31 loc) · 1.04 KB

README.md

File metadata and controls

47 lines (31 loc) · 1.04 KB

mongoose-async-hooks

Mongoose plugin providing experimental support for Node.js async_hooks

Build Status

Importing

// 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

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'));
});