我在Parse中创建了许多用户。有Facebook用户和非Facebook用户。对于每个Facebook用户,我已经保存了额外的" facebookID"。
现在我想获得所有Facebook用户的ParseUsers。所以我应用了一个Task来查询用户" facebookID"在他们中间。
var Task = ParseUser.Query.WhereExists("facebookID").FindAsync().ContinueWith(t=>{
if (t.IsFaulted || t.IsCanceled) {
Debug.Log ("t.Exception=" + t.Exception);
//cannot load friendlist
return;
}
else{
fbFriends = t.Result;
foreach(var result in fbFriends){
string id = (string)result["facebookID"];
//facebookUserIDList is a List<string>
facebookUserIDList.Add(id);
}
return;
}
});
以上代码完美无缺。但是,我想从每个Facebook用户那里获得更多数据,例如,用户拥有的current_coins
。所以我将foreach循环更改为:
foreach(var result in fbFriends){
string id = (string)result["facebookID"];
int coins = (int)result["current_coins"];
//facebookUserIDList is a List<string>
facebookUserIDList.Add(id);
}
我已将facebookUserIDList更改为List<Dictionary<string,object>>
而不是List<string>
,以便保存其他数据。但foreach循环根本不运行。这是否意味着我只能从中获取facebookID
,因为我在WhereExists("facebookID")
中指定了FindAsync()
?有人可以向我解释一下吗?
非常感谢你。
答案 0 :(得分:0)
它应该包含每个Object的所有Parse原始数据类型(例如Boolean,Number,String,Date ...)。但不是指针也不是关系。
对于Pointers,您可以使用“Include”方法
将它们明确地包含在结果中对于任何ParseRelation,你必须重新查询它们