1

我有一个迁移的 Parse 应用程序在 Parse 2.1.6 上运行。它使用简单的 MongoDB 3.0.8(RocksDB 引擎)设置,并带有身份验证。它正在使用的用户具有以下权限:

[{ "role" : "dbAdmin", "db" : "parse" },
 { "role" : "readWrite", "db" : "parse"}]

当 Parse 服务器启动或尝试处理任何请求时,我得到:

[MongoError: not authorized for query on parse._SCHEMA]

鉴于以下情况,这似乎很奇怪:

  • 用户显然有权查询此数据库上的任何集合,
  • 同一用户确实能够通过 mongo 控制台或 robomongo 查询此集合,
  • Parse.com 在使用此数据库时正常工作,与同一用户,
  • 我实际上可以在本地运行相同的 Parse 应用程序,并与该用户指向同一个远程 MongoDB,并且它可以在没有此类错误的情况下工作。

这有点疯狂。我觉得我在这里错过了一些非常基本的东西。有什么想法吗?

更新:作为请求,示例代码显示了服务器如何启动:

var api = new ParseServer({ appId: 'the app id',
  masterKey: 'the master key',
  clientKey: 'client key',
  cloud: '/absolute_path/cloud/main.js',
  serverURL: 'https://myserver.com/parse',
  push:
   { ios:
      { production: false,
        bundleId: 'thebundleid.com',
        pfx: <Buffer ... > } },
  oauth: { facebook: { appIds: 'appId' } },
  databaseURI: 'mongodb://user@pass:127.0.0.1:27017'
});
app.use('/parse', api);
4

0 回答 0