使用Cloud Code检索部分Parse对象

时间:2015-02-19 19:56:08

标签: ios swift parse-platform cloud-code

在我的Users课程中,我有一个名为passwordChanged的参数。我只想回归那个参数。我没有用户objectId,只有他们的username(在我在我的应用中使用此代码的上下文中,我必须处理这种情况)。

根据以下代码,Cloud Code返回整个对象。我怎样才能返回一个参数。

我的第二个问题是,当我调用Cloud Code函数并打印result时,我得到nill值。但是如果我再次调用该函数,我会得到整个对象。在玩了我的代码之后,我可以100%表示检索数据存在延迟(显然),但我的应用程序不会像它应该的那样等待(同时如果我在我的应用程序中使用一般查询,我的应用程序等待)。第二次填充result的原因是因为它在技术上已经填充了上一次(但是延迟导致值“显示”为nil。)如果值为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. } ,请告诉我。我没有意义!

另外,我对Cloud Code(JavaScript)还不熟悉所以我可能犯了一些我看不到的明显错误。

应用代码:

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");

        }
});
});

Cloud Code:

{{1}}

1 个答案:

答案 0 :(得分:0)

更改此行:

var passwordChanged = getUserData;

为:

var passwordChanged = getUserData.get("passwordChanged");

如果“passwordChanged”是您要返回的列的名称。

<强>已更新

1:创建一个数组,例如保存var results = [];

之类的值

2:像上面一样创建一个查询,并在该查询成功处理程序中将所需的列添加到结果数组results.push("whatever_you_want");

3:之后,在第一个查询成功处理程序中,创建另一个查询,并根据您想要的任何内容进行设置

4:在嵌套查询成功处理程序中,只需追加与步骤2相同的结果。