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,
注: 私は合格chucknorris
しbobloblaw
、テスト用の Facebook ID として.
これを機能させる別の方法はありますか?文字列で区切られたものを取り出すと、「レベル」値は問題なくフィルタリングされます。