2.0.0 • Published 8 years ago

koa-mongoose v2.0.0

Weekly downloads
48
License
MIT
Repository
github
Last release
8 years ago

koa-mongoose

NPM version build status David deps node version Gittip

mongoose middleware for koa

Install

NPM

Features

  • use mongoose-q
  • use with models
  • use with schemas
  • use with different database

Examples

With models

var app = require('koa')()
var mongoose = require('koa-mongoose')
var User = require('./models/user')

app.use(mongoose({
    mongoose: require('mongoose-q')(),//custom mongoose
    user: '',
    pass: '',
    host: '127.0.0.1',
    port: 27017,
    database: 'test',
    db: {
        native_parser: true
    },
    server: {
        poolSize: 5
    }
}))

app.use(function* (next) {
    var user = new User({
        account: 'test',
        password: 'test'
    })
    yield user.saveQ()
    this.body = 'OK'
})

With schemas

var app = require('koa')()
var mongoose = require('koa-mongoose')

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(function* (next) {
    var User = this.model('User')
    var user = new User({
        account: 'test',
        password: 'test'
    })
    //or
    var user = this.document('User', {
        account: 'test',
        password: 'test'
    })

    yield user.saveQ()
    this.body = 'OK'
})

With database

var app = require('koa')()
var mongoose = require('koa-mongoose')

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(function* (next) {
    var user = this.document('User', {
        account: 'test',
        password: 'test'
    })

    yield user.saveQ()
    this.body = 'OK'
})

Tests

cd test && docker-compose up -d
HOST=YOUR-DOCKER-HOST npm test

Licences

MIT

2.0.0

8 years ago

1.0.9

10 years ago

1.0.8

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago