express-mongoose-resolve

flexible express middleware which resolves mongoose model by id specified via params and assigns it to req.resolved

Usage no npm install needed!

<script type="module">
  import expressMongooseResolve from 'https://cdn.skypack.dev/express-mongoose-resolve';
</script>

README

express-mongoose-resolve

Install

npm i express-mongoose-resolve

Example

const resolve = require('express-mongoose-resolve');
const Model = require('./models/Model');
...
router.get('view/:model', resolve(Model), (req, res) => res.json(req.resolved.model));

API Reference

resolve(model, options) ⇒ function

Configures and returns middleware listener which will resolve model instance from request params and assign it to "req.resolved" Object using lowercase name of the model, so such middleware:

...get('/foo/:vod', resolve(Vod))

will save model as req.resolved.vod

You cannot alter this behavior

Param Type Description
model object mongoose model
options object options
Options
Key Type Description
paramName string req.params object property key
composeCondition function callback which will return custom query condition from request params
index string name of model index to query against (if composeQuery is String)
prepareQuery function callback, which will alter query according to request query flags