gpt4 book ai didi

javascript - MongoHQ Node.js 连接 URL 连接失败

转载 作者:行者123 更新时间:2023-11-30 06:35:57 25 4
gpt4 key购买 nike

当使用具有这些设置和代码的本地开发 MongoDB 时,我有一个有效的 Node.js 应用程序设置并且运行良好:

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);
});
});

});

关于javascript - MongoHQ Node.js 连接 URL 连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14528159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com