首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >parse.com从数据库获取值;如果引用不起作用

parse.com从数据库获取值;如果引用不起作用
EN

Stack Overflow用户
提问于 2015-06-12 23:51:40
回答 2查看 68关注 0票数 0

我在Parse.com上写了一些云代码。作为基础,我使用了Parse的云数据库服务。在数据库表"Transaction“中,我管理所有的预订。我想要一个方法,可以从android客户端调用来检查用户是否已经签到(签入设置在另一个方法中)。因此,我只想做一个If-Quote。比较不起作用,我怎么能从我的数据库中只获得一个值来运行IF?

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

我的代码:

代码语言:javascript
复制
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);
    }
});                             

});

EN

回答 2

Stack Overflow用户

发布于 2015-06-13 00:22:00

也许你应该在result对象上使用"get“方法。

来自文档:

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

票数 0
EN

Stack Overflow用户

发布于 2015-06-13 00:48:19

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

代码语言:javascript
复制
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);
    }
});                   

如果transactionID确实应该等于对象ID,那么我看不出客户端如何提供一个ID来请求(如果它还不存在)。

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

代码语言:javascript
复制
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);
    }
});         

哦,刚刚注意到了,还有:

代码语言:javascript
复制
check.checkin == true

应该是

代码语言:javascript
复制
check.get('checkin') == true

或者简单地说

代码语言:javascript
复制
check.get('checkin') 

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30807295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档