Egg's mongoose plugin.
npm i egg-mongoose --saveChange {app_root}/config/plugin.js to enable egg-mongoose plugin:
exports.mongoose = { enable: true, package: 'egg-mongoose', };// {app_root}/config/config.default.js exports.mongoose = { url: 'mongodb://127.0.0.1/example', options: {}, // mongoose global plugins, expected a function or an array of function and options plugins: [createdPlugin, [updatedPlugin, pluginOptions]], }; // recommended exports.mongoose = { client: { url: 'mongodb://127.0.0.1/example', options: {}, // mongoose global plugins, expected a function or an array of function and options plugins: [createdPlugin, [updatedPlugin, pluginOptions]], }, };// {app_root}/app/model/user.js module.exports = app => { const mongoose = app.mongoose; const Schema = mongoose.Schema; const UserSchema = new Schema({ userName: { type: String }, password: { type: String }, }); return mongoose.model('User', UserSchema); } // {app_root}/app/controller/user.js exports.index = function* (ctx) { ctx.body = yield ctx.model.User.find({}); }// {app_root}/config/config.default.js exports.mongoose = { clients: { // clientId, access the client instance by app.mongooseDB.get('clientId') db1: { url: 'mongodb://127.0.0.1/example1', options: {}, // client scope plugin array plugins: [] }, db2: { url: 'mongodb://127.0.0.1/example2', options: {}, }, }, // public scope plugin array plugins: [] };// {app_root}/app/model/user.js module.exports = app => { const mongoose = app.mongoose; const Schema = mongoose.Schema; const conn = app.mongooseDB.get('db1'); const UserSchema = new Schema({ userName: { type: String }, password: { type: String }, }); return conn.model('User', UserSchema); } // {app_root}/app/model/book.js module.exports = app => { const mongoose = app.mongoose; const Schema = mongoose.Schema; const conn = app.mongooseDB.get('db2'); const BookSchema = new Schema({ name: { type: String }, }); return conn.model('Book', BookSchema); } // app/controller/user.js exports.index = function* (ctx) { ctx.body = yield ctx.model.User.find({}); // get data from db1 } // app/controller/book.js exports.index = function* (ctx) { ctx.body = yield ctx.model.Book.find({}); // get data from db2 }see config/config.default.js for more detail.
// {app_root}/config/config.default.js exports.mongoose = { client: { url: 'mongodb://mongosA:27501,mongosB:27501', options: { mongos: true, }, }, };Please open an issue here.
If you are a contributor, follow CONTRIBUTING.
jtyjty99999 | popomore | atian25 | dead-horse | BaffinLee | trylovetom |
|---|---|---|---|---|---|
ChangedenCZD | hardywu | JasinYip | netputer | Wai-Dung | duncup |
jinasonlin | legendecas | lzqmyb | DevXiaolan | villins |
This project follows the git-contributor spec, auto updated at Sat Aug 12 2023 11:16:17 GMT+0800.