【发布时间】:2023-03-02 22:31:01
【问题描述】:
代码示例-
const express=require('express'),
http=require('http'),
handlebars=require('express-handlebars').create({defaultLayout:'main'}),
fs=require('fs'),
mongoose=require('mongoose'),
uriUtil = require('mongodb-uri'),
credentials=require('./credentials.js'),
bodyParser=require('body-parser');
//connect to databse
var mongooptions = {
server: {
poolSize:5,
socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 } },
replset: { socketOptions: { keepAlive: 1, connectTimeoutMS : 30000 }
},
};
var mongodbUri=("mongodb://user:pwd@ds029831.mongolab.com:29831/project");
var mongooseUri=uriUtil.formatMongoose(mongodbUri);
mongoose.connect(mongooseUri,mongooptions);
var conn=mongoose.connection;
conn.on('error',function(err){
console.log(err.message);
});
conn.on('connection',function() {
var app=express();
app.set('port',process.env.PORT);
app.engine('handlebars',handlebars.engine);
app.set('view engine','handlebars');
app.use(express.static('./public'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(require('express-session')({
secret: 'intro skill',
resave: false,
saveUninitialized: false,
cookie: {maxAge:900000}
}));
var userSchema=new mongoose.Schema({
username: String,
password: String,
email : String
});
var user=mongoose.model('users',userSchema);
//routing
function startServer(){
http.createServer(app).listen(app.get('port'),function(){
console.log("Server Started at port "+app.get('port'));
});
}
if(require.main===module){
startServer();
}
else{
module.exports=startServer;
}
});
这是我的 node.js 的代码。我正在为 mongodb 使用 mongolab。
我在 cloud9 上运行应用程序。
当我使用猫鼬连接到数据库时,它会抛出一个错误,因为 无法连接到 1%40ds029831.mongolab.com:29831。
应用程序正在连接到 mongolab,并且在身份验证(成功)后显示此错误。
请帮我解决这个问题。
【问题讨论】:
标签: javascript mlab