MongoHQ 节点.js连接 URL 连接失败
MongoHQ Node.js connection URL Conection Failed
我有一个工作 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使用上面的代码。
编辑:这是我代码的下一部分,展示了我如何使用 db 变量,以防它有助于解决问题:
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);
}
});
}
});
相关文章:
- PHP 在 URL 字符串中连接变量
- 如何从Meteor内部获取当前连接的MongoDB数据库的URL
- 连接url中的变量
- Django Template+JavaScript:如何将Django模板url与JavaScript变量连接起来
- 如果没有连接,则停止url操作
- 有没有什么好的节点模块可以连接google shortener API来缩短长URL
- 用于 URL 设置的 PHP 连接.怎么做
- Angular js,如何在调用url之前检查用户是否有互联网连接
- 文件路径及其 URL 变量在连接时被缩短
- 在下划线.js模板中连接 @Url.内容 的字符串
- bxslider 和 url 之间的真正连接
- url重写与连接历史api回退
- 稳定的URL以确认连接JavaScript
- 如何将我们的android应用程序与url连接,并将数据传递到此url
- 从连接的套接字中查找命名空间或URL信息
- 如何提交带有连接URL的表单
- 使用javascript连接url的不同部分,并在最后一个数组变量的末尾添加分隔符
- 如何在有角度的模板中连接URL比在其他位置更不安全
- MongoHQ 节点.js连接 URL 连接失败
- 如何在Xcode上连接URL中的字符串(Objective-c)