MongoHQ Node.js连接URL Conection失败
我有一个工作的Node.js应用程序设置和运行良好时使用我的本地开发MongoDB与这些设置和代码:
var MongoDB = require('mongodb').Db; var Server = require('mongodb').Server; var dbPort = 27017; var dbHost = 'localhost'; var dbName = 'my-db'; var db = new MongoDB(dbName, new Server(dbHost, dbPort, {auto_reconnect: true}), {w: 1}); db.open(function(e, d){ if (e) { console.log(e); } else{ console.log('connected to database :: ' + dbName); } });
但是,当我尝试与我的MongoHQ URI连接,我得到一个失败连接错误。
我不确定如何使用以上代码的URI:mongodb:// username:password@linus.mongohq.com:10022 / my-db。
编辑:这是我的代码的下一部分,以显示如何使用数据库variables,以防止问题:
var accounts = db.collection('accounts'); /* login validation methods */ exports.autoLogin = function(user, pass, callback) { accounts.findOne({user:user}, function(e, o) { if (o){ o.pass == pass ? callback(o) : callback(null); } else{ callback(null); } }); } exports.manualLogin = function(user, pass, callback) { accounts.findOne({user:user}, function(e, o) { if (o == null){ callback('user-not-found'); } else{ validatePassword(pass, o.pass, function(err, res) { if (res){ callback(null, o); } else{ callback('invalid-password'); } }); } }); }
尝试这个:
var mongodb = require('mongodb'); var url = require('url'); var MONGOHQ_URL = "mongodb://username:password@linus.mongohq.com:10022/my-db"; var connectionUri = url.parse(MONGOHQ_URL); var dbName = connectionUri.pathname.replace(/^\//, ''); mongodb.Db.connect(MONGOHQ_URL, function(error, client) { if (error) throw error; console.log('Connected to database :: ' + dbName); // Some code - Print collection names client.collectionNames(function(error, names){ if(error) throw error; console.log("Collections"); names.forEach(function(colData){ var colName = colData.name.replace(dbName + ".", '') console.log(colName); }); }); });
var username = 'username'; var passwd = 'password'; /* establish the database connection */ var db = new MongoDB(dbName, new Server(dbHost, dbPort, {auto_reconnect: true}), {w: 1}); db.open(function(e, aa){ if (e) { console.log(e); } else{ aa.authenticate(username, passwd,function(err2,d){ if(d){ console.log("Database opened"); } else{ console.log(err2); } }); } });
- 密码模块中的6个随机字节可以产生的最大值是多less?
- NodeJS + Android,Socket.io聊天,应用程序在离开聊天室的用户崩溃
- XMLHttpRequest无法加载https://www.facebook.com/dialog/oauth?response_type=code&redirect_uri=
- Node.js /套接字聊天 – 用户列表
- 为什么https.Agent在通过node-http-proxy进行代理时会抛出parsing错误?
- 改变Node中的主要环境
- 如何获得一个咕噜任务的饲料输出到另一个咕task任务?
- 打包node-webkit应用程序
- Node.JScallbackpost请求closures