网管做了一个mongodb 的小集群,设置了4个节点,然后和我说,如果一个节点挂掉了,你可以接入第二个节点,继续用,保证程序正常使用 我一想,这挺好啊,不错啊,于是打开 mongoose的文档,瞅了几眼,刷刷刷几笔,写完了,一跑,还挺好,能正常运行。。。 琢磨一下后,我搞掉一个节点,看看还能跑不,这下好了,不行了,链接时候,一下就成为僵尸了。。。 好吧,我这么写的: var url = ‘mongodb://’ + username + ‘:’ + password + ‘@’ + host[0]+ ‘:’ + port + path + ", "
- host[1]+ ‘:’ + port + path + ", " + host[2]+ ‘:’ + port + path; console.log(url);
var opt = { db: { native_parser: true }, server: { poolSize: 5 , auto_reconnect: true, socketOptions: {keepAlive: 1} }, connectTimeoutMS: 3, mongos: true, replset: { rs_name: ‘gabriel’ } };
mongoose.connect(url, opt, function( err ){ if( !err ){ console.log( ‘DB == connect to mongodb’ ); } else { throw err; } });
username:password 是不是也应该放在每个链接片段里面?
@kaiqigong 可以放在URL里面,也可以放在options 里面, 我是放在Url 内
自己给自己回复吧,是我URL写的不好,文档没看透彻。其余的链接加上用户和密码即可。