首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Heroku + NodeJS + MongoHQ + MongoSync:[错误:未能连接到[mongodb://xyz.mongohq.com]]

Heroku + NodeJS + MongoHQ + MongoSync:[错误:未能连接到[mongodb://xyz.mongohq.com]]
EN

Stack Overflow用户
提问于 2013-09-28 11:34:38
回答 1查看 753关注 0票数 0

在使用MongoHQ连接到Heroku上的MongoHQ MongoDB时,我遇到了一个奇怪的错误。它以前起过作用,现在它停止工作了。我可以连接到本地机器上的数据库,所以我猜MongoHQ工作得很好。在Heroku上,下面的最小示例引发"Error:未能连接到mongodb://xyz.mongohq.com“。你知道怎么回事吗?

代码语言:javascript
复制
var Fiber = require('fibers');
var MongoSync = require("mongo-sync");

Fiber(function() {
  try {
    var server = new MongoSync.Server("mongodb://xyz.mongohq.com:12345");
    var db = server.db("app12345678");
    db.auth("heroku", "password");
    var collection = db.getCollection("my_collection");
    console.log(collection.count());
  } catch (e) {
    console.log(e);
  }
  process.exit(0);
}).run();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-28 12:04:19

尝试在连接字符串中指定数据库名和auth凭据。

mongodb://heroku:password@xyz.mongohq.com:12345/app12345678

您还可以尝试使用MongoClient进行连接,并按照驱动自述文档中概述的方式进行连接。

代码语言:javascript
复制
 var MongoClient = require('mongodb').MongoClient,
     format = require('util').format;    

  MongoClient.connect(' mongodb://heroku:password@xyz.mongohq.com:12345/app12345678', function(err, db) {
    if(err) throw err;

    var collection = db.collection('my_collection');
    collection.insert({a:2}, function(err, docs) {

      collection.count(function(err, count) {
        console.log(format("count = %s", count));
      });
    });
  });

如果仍然不能工作,请检查所有内容--重新创建您想要连接的用户,然后从MongoHQ的管理页面复制连接字符串,替换您刚才创建的用户名和密码。

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

https://stackoverflow.com/questions/19066480

复制
相关文章

相似问题

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