2016-12-05 15 views
1

平均スタックインスタンスがGoogle Cloud Platform、App Engineにデプロイされています。私はsshトンネルを開き、Webブラウザからrockmongoを見ることができます: http://127.0.0.1:8888/rockmongo/index.php?action=admin.index&host=0Mean Stack Google Cloud PlatformのRockMongo

私はrootとデフォルトのパスワードでApp Engineからログインできます。新しいデータベースを追加すると、成功したと言われますが、新しいデータベースはリストに表示されません。私は新しいユーザーを作成し、そのユーザーを表示します。 mongoにコマンドを使ってログインすると、新しいデータベースに切り替えることができますが、コレクション内のすべてのアイテムを検索しようとすると、そのアクションを実行する権限がないというエラーが表示されます。

db.getCollection('users').find({}) Error: error: { "ok" : 0, "errmsg" : "not authorized on newdatabase to execute command { find: \"users\", filter: {} }", "code" : 13 }

readWriteロールをユーザーに追加して再試行しましたが、不運です。 db.getUser( "username")を実行すると、 "null"が返されます。

私は何をしないのです...

答えて

1

はそれを考え出した、私がしなければならなかった:ルートbitnamiユーザーとして

ログイン

use admin 
db.createUser({ user: "newusername", 
       pwd: "newpassword", 
       roles: [ "userAdminAnyDatabase","readWriteAnyDatabase" ]}) 

その後、

use newdatabase 
        db.createUser(
     { 
     user: "newuser", 
     pwd: "newpassword", 
     roles: [ { role: "readWrite", db: "newdatabase" } ] 
     } 
    ) 

その後、エラーは消え去った。だから、bitnamiやrockmongoよりも、mongoの役割と権限に関する問題が多い。まだrockmongoがphpの管理画面から新しいデータベースを見せてくれなかった理由は分かりません(これはすべてmongoのコマンドラインで行いました)。

関連する問題