LoginSignup
1
1

More than 5 years have passed since last update.

NCMBとMONACAを使ってアプリ開発(roleのレコードを見る/roleにuserを追加する)

Last updated at Posted at 2016-05-08

ロールでのUser追加操作にハマった。

初投稿ですが、ハマったことをメモします。

一番ハマったのはaddRoleの仕方

新規でRole作った際のサンプルはあるのですが、すでにRoleがあってすでにいるUserをどうやったら追加できるかわからなかった。
role.jsの説明
とりあえず上記を見つつ、他の人の記事も見てようやく今のログインユーザーで登録する方法はわかった。

  • DataStoreと大体同じ。fetchAllとかでとってきて、updateでいい
  • だけど、roleクラスはクラスを指定しないでいい(常にRoleだから、Userも同じ)
  • newは新規登録じゃないのでいらない
  • addUserは「Userクラス」を入れる。userNameだけじゃダメ!!

サンプルソースは以下のとおり。

roleのレコードを見る

function showRolesList(){
    ncmb.Role.fetchAll()
             .then(function(results){
                if (results.length == 0 ){
                    alert("roleがないです");
                } else {
                    alert(results.length);
                    for (i = 0; i < results.length; i++){
                        alert(results[i].get("roleName"));
                    }
                }
              })
              .catch(function(err){
                  alert(err);
              });
}

roleにUserを足す

//Roleにログイン中のCurrentUserを追加登録する
function addRoleTest(){
    var currentUser = ncmb.User.getCurrentUser();
    ncmb.Role.equalTo("roleName", "test")
             .fetchAll()
             .then(function(results){
                if (results.length == 0 ){
                    alert("roleがないです");
                } else {
                    alert(results.length);
                    alert(results[0].get("roleName"));
                    var r = results[0]
                    r.addUser(currentUser)
                     .update()
                     .then(function(results){
                        alert("OK")
                     })
                     .catch(function(err){
                        alert(err);
                     });
                }
             })
             .catch(function(err){
                alert(err);
             })
}


いやーつまりました。解決した。
ついついaddUser(userName)ってしちゃうけど、addUser(userクラスのレコード)じゃないとダメ。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1