无法访问 Cloud Code Parse Framework 上的属性“createdAt”

Posted

技术标签:

【中文标题】无法访问 Cloud Code Parse Framework 上的属性“createdAt”【英文标题】:Cant access property "createdAt" on Cloud Code Parse Framework 【发布时间】:2015-03-25 17:20:31 【问题描述】:

我正在使用 Cloude Code 创建一个稍微复杂一点的查询,但我无法访问由 Parse "createdAt" 自动创建的属性, 这是我的代码:

Parse.Cloud.define("get_time", function(request, response)

    var query = new Parse.Query("Test");
    var today = new Date(); // gets today
    var thirdDaysAgo = new Date(today - 1000 * 60 * 60 * 24 * 30); // gets 30 days ago
    var threeHoursAgo = new Date(today - 1000 * 60 * 60 * 1); // gets 3 hours ago

    query.greaterThan("createdAt", thirdDaysAgo);
    query.greaterThan("createdAt", threeHoursAgo);
    query.descending("createdAt");

    query.find(
    success: function(results) 
        
            if(results.length > 0)
            
                var finalArray = [];
                for (i = 0; i < results.length; i++) 
                 
                    var dataCreated = results[i].get("createdAt");
                    finalArray.push(dataCreated);
                
                response.success(finalArray);
            
    ,
    error: function() 
    
      response.error("time lookup failed");
    );
);

finalArray,只填充空对象。

【问题讨论】:

【参考方案1】:

首先你不能在同一个字段上使用两次greaterThan,最后一个是唯一会粘住的。

其次你说 results 是用空对象填充的,所以它返回一个结果数组?

results 充满了空值,还是finalArray。您应该知道objectIdcreatedAtmodifiedAt 不能通过get("columnName") 获得,它们是本机属性,因此您必须改用results[i].createdAt。这就是为什么finalArray 会充满空值。

【讨论】:

以上是关于无法访问 Cloud Code Parse Framework 上的属性“createdAt”的主要内容,如果未能解决你的问题,请参考以下文章