节点js module.exports模块参数

我在Node.js中是新的,我已经创build了一个基于mongoose的模块,但我有configurationfunction的问题。

其实我的模块使用mongoose.connect连接,但我想改变它,以使用mongoose.createConnection 。 为此,我创build了一个接受连接string作为参数的init函数。

我的问题是“我怎么module.exports连接到我的模块?”

例如:

// server.js var mymodule = require('mymodule'); mymodule.init('http://localhost:27017/test'); // mymodule/index.js var mongoose = require('mongoose'); module.exports = { init: function(connString){ module.exports = connection = mongoose.createConnection(connString); // this is wrong } } // mymodule/user.js // I want to use the connection to create the mongoose 'User' model var mongoose = require('mongoose'); var connection = require // I don't know var UserSchema = new mongoose.Schema({ name: String }); module.exports = connection.model('User', UserSchema); 

感谢您的任何build议。

mongoose.createConnection()是同步的,所以你应该只能从你的方法返回连接。

 var mongoose = require('mongoose'); module.exports = { init: function(connString){ return mongoose.createConnection(connString); } } 

那你可以这样做:

 var module = require('myModule'); var db = module.init('mongodb://etc/db');