我查看了几篇stackoverflow文章并尝试了不同的连接方式,但没有一种方法可行。到目前为止,我已经尝试过:
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:无法调用undefined
的方法'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 +“:”+ port +“]”;必须指定主机和端口
有谁知道正确的方法吗?
答案 0 :(得分: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"
}
}