Sails.js-与mLab上的远程MongoDB存在授权问题,但在本地工作正常
最近,我接管了一个由一小队web开发人员为我们公司创建的Sails.js应用程序。他们向我提供了源代码和数据库转储。现在,我的任务是让它在Heroku上运行。当我在本地运行应用程序时,一切正常,但使用远程连接时,启动时出现一个错误,显示:Sails.js-与mLab上的远程MongoDB存在授权问题,但在本地工作正常,mongodb,heroku,sails.js,Mongodb,Heroku,Sails.js,最近,我接管了一个由一小队web开发人员为我们公司创建的Sails.js应用程序。他们向我提供了源代码和数据库转储。现在,我的任务是让它在Heroku上运行。当我在本地运行应用程序时,一切正常,但使用远程连接时,启动时出现一个错误,显示: MongoError: not authorized on heroku_gbntc8sf to execute command { createIndexes: "agendaJobs", indexes: [ { key: { name: 1, prior
MongoError: not authorized on heroku_gbntc8sf to execute command { createIndexes: "agendaJobs", indexes: [ { key: { name: 1, priority: -1, lockedAt: 1, nextRunAt: 1, disabled: 1 }, name: "findAndLockNextJobIndex1" }, { key: { name: 1, lockedAt: 1, priority: -1, nextRunAt: 1, disabled: 1 }, name: "findAndLockNextJobIndex2" } ] }
at Function.MongoError.create ([ROOT_DIR]/node_modules/mongodb-core/lib/error.js:31:11)
at [ROOT_DIR]/node_modules/mongodb-core/lib/topologies/server.js:793:66
at Callbacks.emit ([ROOT_DIR]/node_modules/mongodb-core/lib/topologies/server.js:94:3)
at null.messageHandler ([ROOT_DIR]/node_modules/mongodb-core/lib/topologies/server.js:235:23)
at Socket.<anonymous> ([ROOT_DIR]/node_modules/mongodb-core/lib/connection/connection.js:259:22)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at TCP.onread (net.js:523:20)
目前,我正在本地运行服务器,试图连接到远程数据库,以尽可能多地消除变量。就像我上面提到的,当我将主机设置为'127.0.0.1'
并将端口设置为27017
时,一切正常。heroku\u gbntc8sf
用户在两个数据库(本地和远程)中都具有基本的readWrite
权限。事实上,据我所知,这两个数据库几乎完全相同。然而
我已经阅读了相当多的Sails.js文档,以及sailsmongo
适配器上的文档。我搜索过类似的问题,但找不到任何相关的。我尝试了许多不同的方法,包括几种不同的方法来配置数据库连接,但是错误总是存在的
我之所以在StackOverflow上发帖,是因为我目前无法依赖应用程序原始作者的支持。另外,我对Sails.js还不熟悉,所以我可能在不知不觉中做错了什么。我希望我可以将应用程序视为一个“黑匣子”(或像一个普通节点应用程序),因为我的工作只是在Heroku上启动应用程序。最近我在一个Sails项目中成功地使用了mLab,但我使用了Mongo URL字符串格式,例如
mongodbServer: {
adapter: 'sails-mongo',
url : "mongodb://dandanknight:som3P455w0rd@ds044979.mlab.com:44979/databasename"
}
不确定它是否有用,但试试也无妨!顺便说一句,这也是我成功地让复制集在帆船上工作的唯一方法
这很让人困惑,但我将sails mongo文档解读为“URL是前进的方向,传递对象是传统用法”()
mongodbServer: {
adapter: 'sails-mongo',
url : "mongodb://dandanknight:som3P455w0rd@ds044979.mlab.com:44979/databasename"
}