parse.com从数据库中获取价值;如果报价不起作用

时间:2015-06-12 15:51:40

标签: javascript android parse-platform

我正在Parse.com上写一些Cloude代码。作为基础,我使用Parse的云数据库服务。在数据库表“交易”中,我管理所有预订。我想要一个方法,可以从Android客户端调用来检查,如果用户已经签入(签入在另一个方法中设置)。因此我只是想做一个If-Quote。比较不起作用,如何从我的数据库中只获取一个值来运行IF?

输入:transactinID - >搜索ID,获取签入值(布尔值) - >检查签入是否为treu / false

我的代码:

Parse.Cloud.define("checkIfCheckedIn", function(request, response) {
//get user infoarmation
var transactionID = request.params.transactionID;

var check = new Parse.Query("Transaction");
check.get(transactionID, {
    success: function(check){
        if(check.checkin == true) {
            response.success("true");
        }else{
            response.success("false");
        };
    },
    error: function(error)  {
        alert("Error: " + error.code + " " + error.message);
    }
});                             

});

2 个答案:

答案 0 :(得分:0)

也许你应该使用" get"结果对象的方法。

来自docs:

  

要从Parse.Object中获取值,请使用get方法。   https://parse.com/docs/js/guide#objects-retrieving-objects

答案 1 :(得分:0)

你还没回答我的评论,但这是一个建议。在这里,您应该将equivTo替换为包含Transaction类中的transactionID的列。

var Transaction  = Parse.Object.extend("Transaction");
var query = new Parse.Query(Transaction);
query.equalTo('transactionID', transactionID);    
query.first( {
    success: function(check){
        if(check.get('checkin')) {
            response.success("true");
        }else{
            response.success("false");
        };
    },
    error: function(error)  {
        alert("Error: " + error.code + " " + error.message);
    }
});                   

如果procID确实应该等于对象ID,那么我无法看到客户端如何提供要反对的ID(如果它还不存在)。

实际上,也许你真正想要的是:

var Transaction  = Parse.Object.extend("Transaction");
var query = new Parse.Query(Transaction);
query.equalTo('transactionID', transactionID);    
query.first( {
    success: function(check){
        if(check.get('checkin')) {
            response.success("true");
        }else{
            response.success("false");
        };
    },
    error: function(error)  {
        // transaction not found
        response.success("false");            

        // you might want to inspect the error
        // to ensure that it is indeed object not foun
        // and not a timeout or other error

        // alert does not work in cloud coud
        //alert("Error: " + error.code + " " + error.message);

        // console does, however
        console.error(error.message);
    }
});         

哦,现在才注意到,还有:

check.checkin == true

应该是

check.get('checkin') == true

或者只是

check.get('checkin') 

javascript中的解析对象由setter / getters访问,而不是通过属性访问。相应地更正了上面的代码。