解析云:无法返回列中最大值查询的值

时间:2015-02-21 15:09:14

标签: javascript database parse-platform

我是Parse云代码的新手,想要在Parse数据库的一列中获取最大值。

Cloud Code:

Parse.Cloud.define("query_maximum", function(request, response) 
{
    var max =1;
    var DB = Parse.Object.extend("Recording_db");
    var query= new Parse.Query(DB);
    query.descending("Ref_int");
    query.first(
    {
        success: function(result)
        {  
                max = result;
                response.success("Max: " + max);                
        },
        error: function()
        {
                max =0;
                response.error("Error: " + error.code + " " + error.message);
        },
    }); 
});

的Android:

ParseCloud.callFunctionInBackground("query_maximum", new HashMap<String, Object>(), new FunctionCallback<String>() 
{
   public void done(String result, ParseException e) 
   {
       if (e == null)  
       {
           tv1.setText(""+result);
       }
   }
});

问题:

tv1返回Max:[object Object]的值,而不是该列中的max值。

更新: 在成功循环中添加response.success("Max: " + JSON.stringify(Object.keys(result)));后,设备中的结果如下:

enter image description here

1 个答案:

答案 0 :(得分:1)

为了澄清我的评论,代码检索由最大Recording_db行表示的Ref_int对象。将此视为云记录中的解析对象....

    success: function(result)
    {  
            max = result;
            response.success(max.get("Ref_int"));
            // use get here in javascript               
    },

并在回复中......

public void done(Integer i, ParseException e)
{
    if (e == null)  
    {
        tv1.setText("" + result.getInt("Ref_int"));
    }
}