3

C# クライアントで Azure Mobile Services を使用しています。各スコアの Facebook Id を持つ「スコア」のテーブルがあります。私がする必要があるのは、ユーザーの友人の配列を渡し、その友人のリストにあるすべてのスコアを返すことです。

だから私はクライアントでこれを試しました:

        return _client.GetTable<Score>().WithParameters(new Dictionary<string, string>
        {
            { "Level", level.ToString() },
            //aggregate our string[] to a comma-delimited string
            { "Friends", friends.Aggregate(new StringBuilder(), (b, s) => b.Append(s).Append(',')).ToString() }

        }).ToListAsync();

これは奇妙なことですが、カスタム パラメータの文字列を渡すオプションしかありません。

だから私はサーバーの読み取りでこれを行いました:

function read(query, user, request) {

    query.where({ Level: request.parameters.Level, UserId: request.parameters.Friends.split(',') });

    request.execute();
}

コンマ区切りのリストがうまくいかないようです。サーバーで次のエラーが発生します。

Error in script '/table/Score.read.js'. Error: Unsupported literal value chucknorris,bobloblaw,

注: 私は合格chucknorrisbobloblaw、テスト用の Facebook ID として.

これを機能させる別の方法はありますか?文字列で区切られたものを取り出すと、「レベル」値は問題なくフィルタリングされます。

4

2 に答える 2