1

Parse 2.1.6 で実行されている移行済みの Parse アプリケーションがあります。認証付きのシンプルな 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