我正在尝试从用户指针{"result":{"__type":"Pointer","className":"_User","objectId":"kArFHAxDNn"}}
Ex:- voted_userIds = results_poll[i].get("voted_user_ids");
voted_userIds[0].get("username");
voted_userIds[0].get("email");
什么都没有返回,它只返回空{"result":""}
我在过去2天内遇到过这个问题。有人能帮助我吗?
更新: -
// Use Parse.Cloud.define to define as many cloud functions as you want.
// For example:
Parse.Cloud.define("pollResults", function(request, response) {
var query = new Parse.Query("Poll");
var userData = new Parse.Query("User");
Parse.Cloud.useMasterKey();
userData.equalTo("objectId", request.params.userId);
//FETCH A USER BY ID
userData.get(request.params.userId, {
success: function(object) {
//POLL LIST
query.include('voted_user_ids');
query.equalTo("user", object);
query.find({
success: function(results_poll) {
var voted_userIds='';
var message = '';
for(var i =0; i < results_poll.length; i++){
if ((typeof results_poll[i].get("voted_user_ids") !== "undefined") && (results_poll[i].get("voted_user_ids") !== null)){
message = results_poll[i].get("voted_user_ids")[0].get("username");
}
}
response.success("--->"+message);
},
error: function() {
response.error("no results found");
}
});
},
error: function() {
response.error("no results found");
}
});
});
注意: - voted_userIds包含用户指针数组。
答案 0 :(得分:1)
如果voted_user_ids
是一个数组列,您只能在查询中include()
,例如:
query.include('voted_user_ids');
这将允许您访问每个用户的所有属性。
如果您已经锁定了权限(这是可取的),您可能还需要使用主密钥来读取其他用户帐户,在运行查询之前,只需添加此行:
Parse.Cloud.useMasterKey();
答案 1 :(得分:1)
不需要2个查询来引用字段内的指针数组(voted_user_ids)
如果它有一个指向类的指针数组,那么第一个查询将返回它并且不需要第二个查询....
//POLL LIST
query.include('voted_user_ids');
query.equalTo("user", object);
query.find({
success: function(results_poll) {
查看有关在单个查询中获取指针的文档。您的指针应该在第一个查询的json响应中排成一行。