@attractor/micro-mongoose
v1.1.0
Published
A simple package that allows you to use mongoose with micro.
Downloads
7
Readme
micro-mongoose
A simple package that allows you to use mongoose with micro.
Installation
$ npm i @attractor/micro-mongoose --save
Usage
const {send} = require('micro')
const {Schema} = require('mongoose')
const microMongoose = require('@attractor/micro-mongoose')
const models = {
User: {
name: 'user',
schema: new Schema({
email: String,
name: String,
salt: String,
password: String,
created_at: { type: Date, default: Date.now },
updated_at: { type: Date, default: Date.now },
})
}
}
const withMongoose = microMongoose({ models, database: 'mydb', branching: true })
const handler = async (req, res, { User }) => {
const user = await User.findOne()
send(res, 200, user)
}
module.exports = withMongoose(handler)
and run locally via
$ MONGO_HOST=mongodb://localhost node index.js
or deploy with ZEIT's now
now -e MONGO_HOST=mongodb://someremote.mongodb.host:11111
Details
Exported method withMongoose
consists of 2 arguments: options and handler.
handler
is the micro function that you will use to handle the http request with.options
is an object that has following parameters:models
an object containing a properly formatted dictionary of mongoose schemesdatabase
string with database namebranching
in case you are using ZEIT'snow
, you can enable branching so prefixes would be added to the database names; On a now deployment from master branch prefix will belive-
, in any other case prefix will bestaging-
.