使用 Cloud Code 检索部分解析对象
Retrieve part of a Parse Object using Cloud Code
在我的 Users
class 中,我有一个名为 passwordChanged
的参数。我只想 return 那一个参数。我没有用户 objectId
,只有他们的 username
(在我在我的应用程序中使用这段代码的情况下,我必须处理这种情况)。
给出下面的代码,云代码 return 是整个对象。我怎么能只return一个参数。
我的第二个问题是,当我调用 Cloud Code 函数并打印 result
时,我得到一个 nill
值。但如果我再次调用该函数,我将获得整个对象。在尝试了我的代码之后,我可以 100% 地说检索数据存在延迟(很明显),但我的应用程序没有像它应该的那样等待(同时,如果我在我的应用程序中使用一般查询,我的应用程序会等待)。第二次填充 result
的原因是因为它在技术上已经从上一次填充(但延迟导致 "appear" 的值变为 nil
。)请让我知道我说的有没有道理!
此外,我对 Cloud Code (JavaScript) 还很陌生,所以我可能犯了一些我看不到的明显错误。
应用代码:
PFCloud.callFunctionInBackground("checkAccountStatus", withParameters: ["username" : self.userText.text]) {
(result: AnyObject!, error: NSError!) -> Void in
println (result) // First time around "nill" is displayed. Second time around, entire object data is displayed.
}
云代码:
Parse.Cloud.define("checkAccountStatus", function(request, response) {
Parse.Cloud.useMasterKey();
var query = new Parse.Query(Parse.User);
query.equalTo("username", request.params.username);
query.first({
success: function(getUserData) {
var passwordChanged = getUserData;
response.success(passwordChanged);
},
error: function(error) {
response.error("There was an error");
}
});
});
更改此行:
var passwordChanged = getUserData;
至:
var passwordChanged = getUserData.get("passwordChanged");
如果 "passwordChanged" 是您要 return 的列的名称。
已更新
1:创建一个数组,例如保存 var results = [];
等值
2:像上面一样创建一个查询,并在该查询成功处理程序中将您想要的列添加到结果数组中 results.push("whatever_you_want");
3:在那之后,在第一个查询成功处理程序中,创建另一个查询,并使用你想要的任何内容进行设置
4: 在嵌套查询成功处理程序中,只需附加与步骤 2 中相同的结果。
在我的 Users
class 中,我有一个名为 passwordChanged
的参数。我只想 return 那一个参数。我没有用户 objectId
,只有他们的 username
(在我在我的应用程序中使用这段代码的情况下,我必须处理这种情况)。
给出下面的代码,云代码 return 是整个对象。我怎么能只return一个参数。
我的第二个问题是,当我调用 Cloud Code 函数并打印 result
时,我得到一个 nill
值。但如果我再次调用该函数,我将获得整个对象。在尝试了我的代码之后,我可以 100% 地说检索数据存在延迟(很明显),但我的应用程序没有像它应该的那样等待(同时,如果我在我的应用程序中使用一般查询,我的应用程序会等待)。第二次填充 result
的原因是因为它在技术上已经从上一次填充(但延迟导致 "appear" 的值变为 nil
。)请让我知道我说的有没有道理!
此外,我对 Cloud Code (JavaScript) 还很陌生,所以我可能犯了一些我看不到的明显错误。
应用代码:
PFCloud.callFunctionInBackground("checkAccountStatus", withParameters: ["username" : self.userText.text]) {
(result: AnyObject!, error: NSError!) -> Void in
println (result) // First time around "nill" is displayed. Second time around, entire object data is displayed.
}
云代码:
Parse.Cloud.define("checkAccountStatus", function(request, response) {
Parse.Cloud.useMasterKey();
var query = new Parse.Query(Parse.User);
query.equalTo("username", request.params.username);
query.first({
success: function(getUserData) {
var passwordChanged = getUserData;
response.success(passwordChanged);
},
error: function(error) {
response.error("There was an error");
}
});
});
更改此行:
var passwordChanged = getUserData;
至:
var passwordChanged = getUserData.get("passwordChanged");
如果 "passwordChanged" 是您要 return 的列的名称。
已更新
1:创建一个数组,例如保存 var results = [];
2:像上面一样创建一个查询,并在该查询成功处理程序中将您想要的列添加到结果数组中 results.push("whatever_you_want");
3:在那之后,在第一个查询成功处理程序中,创建另一个查询,并使用你想要的任何内容进行设置
4: 在嵌套查询成功处理程序中,只需附加与步骤 2 中相同的结果。