0

いくつかのスタックオーバーフローの記事に目を通し、さまざまな接続方法を試しましたが、どれも機能しません。これまでのところ、私は試しました:

var mongodb = require('mongodb');
var uri = 'mongodb://Userxxx:Passxxx@ds0URI:PORT/heroku_appXXX';
mongodb.MongoClient.connect(uri, { server: { auto_reconnect: true } }, function (err, db) {
});

次のエラーでクラッシュしました:

TypeError: 未定義のメソッド 'connect' を呼び出せません

それから私はこれを試しました:

mongo = require('mongodb')
Server = mongo.Server
Db = mongo.Db
BSON = mongo.BSONPure;
con = null;

server = new Server('xxxxx.mongolab.com', 'PORT', {auto_reconnect: true});
DBCon = new Db('xxxxx', server, {safe: false});
DBCon.open(function(err, db) {
    if(!err) {
          db.authenticate('xxxxx', 'xxxxx', function(err){
                  if(!err) con = db; 
                 })  
            }   
      }); 

そして、それは私にエラーを与えました: /app/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:10 number') throw "host and port must be specified [" + host + ":" + port + "]" ; ホストとポートを指定する必要があります

これを行う正しい方法を知っている人はいますか?

4

1 に答える 1

0

Heroku で MongoClient を使用しています。コードは、あなたが持っているものとそれほど変わらないように見えます:

var MongoClient = require("mongodb").MongoClient;
MongoClient.connect(databaseString, function (err, result){
     if (err) {
     }
}

エラーが発生しているため (MongoClient は未定義)、package.json ファイルが正しいかどうか疑問に思います。私のテストでは、次のようになります。

{
    "name": "test",
    "version": "0.0.1",
    "dependencies": {
        "express": "2.5.x", "mongodb": "1.2.14", "node-static": "0.7.0"
    },
    "engines": {
        "node": "0.8.x",
        "npm": "1.1.x"
    }
}
于 2013-09-13T05:24:53.743 に答える