Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sails.js-与mLab上的远程MongoDB存在授权问题,但在本地工作正常_Mongodb_Heroku_Sails.js - Fatal编程技术网

Sails.js-与mLab上的远程MongoDB存在授权问题,但在本地工作正常

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

最近,我接管了一个由一小队web开发人员为我们公司创建的Sails.js应用程序。他们向我提供了源代码和数据库转储。现在,我的任务是让它在Heroku上运行。当我在本地运行应用程序时,一切正常,但使用远程连接时,启动时出现一个错误,显示:

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"
    }