2015-11-04 80 views
0

我在使用query.first()获取一行后,有点问题,我想通过db访问字段codeExpiry并立即与日期和时间进行比较。提取的日期始终记录为未定义。从解析数据库获取日期返回undefined

下面的代码:

Parse.Cloud.define("SmsCodeVerification", function(request, response) { 

    console.log("Code from User: " +request.params.code); 

    var id = request.params.userId; 

    var userQuery = new Parse.Query("User"); 
    userQuery.equalTo("objectId", id); 

    var object = {}; 

    var temp = userQuery.first().then(function(result){ 

     object = result.toJSON(); 

     console.log("Code expiry from database: " + **object.codeExpiry**); 

     var date = new Date(); 

     var exp = **object["codeExpiry"];** 

     console.log("Date of received code: " + date); 

     console.log("Expiry: " + exp); 

     if(object.cellVerificationCode == request.params.code){ 

      console.log(+exp+ " Expiry Date,"); 
      console.log(+date+ " Current Date,"); 

       if(exp > date){ 

        response.success("Code expiry date has passed. The system will now generate a new code."); 

       } else { 

        console.log("Code Received."); 

        result.set("isCellNoVerified", true); 

        result.save(null, { useMasterKey: true }).then(function() { 
          response.success("Save Successful."); 

          }, function(error){ 
           response.error(error); 
        }); 
       } 
      } else { 

       response.error("Code not recognized."); 
      }  

    }); 

    temp.then(function(){ 

     console.log("End of execution!!"); 
    }); 

}); 

这里,Object.codeExpiry和result.codeExpiry始终记录为未定义或[对象的对象]

回答

0

解析用户类Parse.User的名称,而不是 “用户” 。初始化查询为:

var userQuery = new Parse.Query(Parse.User);