我是 Node.js 的新手,我已经创建了一个基于mongoose的模块,但我的配置功能有问题。
实际上我的模块使用 mongoose.connect 连接,但我想更改它以使用 mongoose.createConnection 。为此,我创建了一个 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);
感谢您的任何建议。
答案 0 :(得分:1)
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');