New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ロールに所属している会員を取得する際の上限数について #774

Open
yumen-s opened this Issue Sep 7, 2017 · 2 comments

Comments

Projects
None yet
2 participants
@yumen-s

yumen-s commented Sep 7, 2017

会員管理、グルーピングについての質問です。

サンプル( http://mb.cloud.nifty.com/doc/current/user/manage_privileges_javascript.html#会員・子ロールの取得 )にある、ロールに所属している会員を取得するというコードなのですが、ロールに所属している会員数が100件を超えると超過した会員を取得できないという問題に当たっています。

データストアのようにlimit,skip関数を使おうにも、roleにはそれらの関数が定義されていないらしく、解決策がない状態です。何か他に方法はあるのでしょうか?

↓実験したソースコードです。

ncmb.Role.equalTo("roleName","expertPlan").fetch()
         .then(function(role){
           return role.limit(1000).fetchUser();
          })
         .then(function(users){
            for (var i = 0; i < users.length; i++) {
              var user = users[i];
              console.log (user.userName);
            }
          });

↓実行結果です。
Uncaught (in promise) TypeError: role.limit is not a function

@goofmint

This comment has been minimized.

Show comment
Hide comment
@goofmint

goofmint Sep 14, 2017

こちらを参考にしてください。fetchUserはlimitをサポートしていないので、直接 ncmb.User を検索するのが良いようです。

https://jsfiddle.net/moongift/satxaqn8/

// 最大1000件まで取れるやり方
ncmb.Role.equalTo("roleName","Pro").fetch()
  .then((role) => {
    ncmb.User
      .relatedTo(role, 'belongUser')
      .limit(1000)
      .fetchAll()
      .then((users) => {
        logger.log('異なるやり方:', users.length);
      })
  });

goofmint commented Sep 14, 2017

こちらを参考にしてください。fetchUserはlimitをサポートしていないので、直接 ncmb.User を検索するのが良いようです。

https://jsfiddle.net/moongift/satxaqn8/

// 最大1000件まで取れるやり方
ncmb.Role.equalTo("roleName","Pro").fetch()
  .then((role) => {
    ncmb.User
      .relatedTo(role, 'belongUser')
      .limit(1000)
      .fetchAll()
      .then((users) => {
        logger.log('異なるやり方:', users.length);
      })
  });
@yumen-s

This comment has been minimized.

Show comment
Hide comment
@yumen-s

yumen-s Sep 15, 2017

ありがとうございます。
limitでは1000件までしか取得できないので、skipを使おうと思ったのですが、relatedToとcountを併用すると取得する値が100になってしまいます。

yumen-s commented Sep 15, 2017

ありがとうございます。
limitでは1000件までしか取得できないので、skipを使おうと思ったのですが、relatedToとcountを併用すると取得する値が100になってしまいます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment