首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点和远程mongohq连接

节点和远程mongohq连接
EN

Stack Overflow用户
提问于 2014-02-04 23:47:41
回答 1查看 147关注 0票数 0

我在连接我的mongohq数据库时遇到了很大的问题。我遵循本教程,但使用远程mongoHQ db:http://coenraets.org/blog/2012/10/creating-a-rest-api-using-node-js-express-and-mongodb/替换本地mongo DB

wines.js

代码语言:javascript
复制
var mongo = require('mongodb'); 
Db = mongo.Db;
BSON = mongo.BSONPure;
con = null;

server = new Server('troup.mongohq.com', 'mongo_port', {auto_reconnect: true});
DBCon = new Db('dev', server, {safe: false});
DBCon.open(function(err, db) {
  if(!err) {
   db.authenticate('username', 'password', function(err){
    if(!err) con = db;
   })
  }
 })

// exports.findById = function(req, res) {
//     var id = req.params.id;
//     console.log('Retrieving wine: ' + id);
//     db.collection('wines', function(err, collection) {
//         collection.findOne({'_id':new BSON.ObjectID(id)}, function(err, item) {
//             res.send(item);
//         });
//     });
// };

server.js

代码语言:javascript
复制
var express = require('express'),
path = require('path'),
http = require('http'),
wine = require('./routes/wines');

var app = express();

app.configure(function () {
app.set('port', process.env.PORT || 3000);
app.use(express.logger('dev'));  /* 'default', 'short', 'tiny', 'dev' */
app.use(express.bodyParser()),
app.use(express.static(path.join(__dirname, 'public')));
});

app.get('/wines', wine.findAll);
app.get('/wines/:id', wine.findById);
app.post('/wines', wine.addWine);
app.put('/wines/:id', wine.updateWine);
app.delete('/wines/:id', wine.deleteWine);

http.createServer(app).listen(app.get('port'), function () {
console.log("Express server listening on port " + app.get('port'));
});

尝试启动节点时获取im时出错:

代码语言:javascript
复制
/Sites/nodecellar/routes/wines.js:31
db.open(function(err, db) {
^
ReferenceError: db is not defined
    at Object.<anonymous> (/Sites/nodecellar/routes/wines.js:31:1)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/Sites/nodecellar/server.js:4:12)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)

对这里的错误有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2014-02-05 10:17:25

您的问题几乎可以肯定是与服务器连接设置有关。本教程早于对驱动程序的更新,该驱动程序使接口在所有平台上统一,公认的方法是使用MongoClient类进行设置。

查看URL连接格式上的注释,因为您可能需要传入凭据和数据库才能连接到该格式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21556939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档