koa-mongoose2
v1.0.10
Published
Mongoose middleware for koa
Downloads
3
Readme
koa-mongoose
mongoose middleware for koa 2
Install
Features
- upgraded for Koa 2
- uses upgraded mongoose configured to use native
Promise
- use with models
- use with schemas
- use with different database
Examples
With models
const Koa = require('koa')
const mongoose = require('koa-mongoose')
const User = require('./models/user')
const app = new Koa()
app.use(mongoose({
user: '',
pass: '',
host: '127.0.0.1',
port: 27017,
database: 'test',
db: {
native_parser: true
},
server: {
poolSize: 5
}
}))
app.use(async (ctx, next) => {
let user = new User({
account: 'test',
password: 'test'
})
await user.save()
ctx.body = 'OK'
})
With schemas
const Koa = require('koa')
const mongoose = require('koa-mongoose')
const app = new Koa()
app.use(mongoose({
username: '',
password: '',
host: '127.0.0.1',
port: 27017,
database: 'test',
schemas: './schemas',
db: {
native_parser: true
},
server: {
poolSize: 5
}
}))
app.use(async (ctx, next) => {
let User = ctx.model('User')
let user = new User({
account: 'test',
password: 'test'
})
//or
let user = ctx.document('User', {
account: 'test',
password: 'test'
})
await user.save()
ctx.body = 'OK'
})
With database
const Koa = require('koa')
const mongoose = require('koa-mongoose')
const app = new Koa()
app.use(mongoose({
username: '',
password: '',
host: '127.0.0.1',
port: 27017,
database: ctx => {
return ctx.headers['x-app']
},
schemas: './schemas',
db: {
native_parser: true
},
server: {
poolSize: 5
}
}))
app.use(async ctx => {
let user = ctx.document('User', {
account: 'test',
password: 'test'
})
await user.save()
ctx.body = 'OK'
})
Tests
cd test && docker-compose up -d
HOST=YOUR-DOCKER-HOST npm test