【发布时间】:2013-09-04 17:39:13
【问题描述】:
我知道有很多关于这个问题的话题,但其中任何一个都解决了我的问题。 我实际上是在尝试在 Heroku 上部署我的项目,这对我来说是新事物。
我的项目是基于 Express API 连接到 MongoDB 数据库的 node.js。 当我使用我的数据库在本地启动它时(没有登录名/密码)我没有这个错误,但是当我将它连接到 heroku 数据库时,我得到一个:
Error: Error setting TTL index on collection : Session <MongoError: not authorized for query on app17713548.system.indexes>
我的 package.json
"dependencies": {
"express": "3.0.6",
"mongodb": "1.3.19",
"mongoskin": "0.5.0",
"MD5": "1.0.3",
"connect-session": "*",
"connect-mongo": "0.3.3",
"geoip-lite": "1.0.10"
},
"engines": {
"node": "0.8.19",
"npm": "1.1.65"
}
为了连接到我的数据库,我使用的是 MongoSkin,该行是:
mongo.db(conf.dbLogin+':'+conf.dbPassword+'@'+conf.dbAddr+':'+conf.dbPort+'/'+conf.dbName+'?auto_reconnect=true', {w: 1});
任何帮助将不胜感激!
【问题讨论】:
-
传递给
mongo.db()函数的实际字符串是什么? -
基本上是这样的形式:'mysql2://LOGIN:PASSWORD@HOST:PORT/DB_NAME?auto_reconnect=true'
-
“mysql2”不应该是“mongo”吗?
-
mongoskin 文档说使用“mongo”,而不是“mongodb”。
-
不,它只是一个变量,实例化如 -> mongo = require('mongoskin');但也可以是 foo = require('mongoskin');
标签: node.js mongodb heroku express