我正在使用带有 C# 客户端的 Azure 移动服务。我有一个“分数”表,每个分数都有一个 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 进行了测试。
还有另一种方法可以使这项工作吗?如果我取出字符串分隔的东西,“级别”值过滤器就好了。