无法访问 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”的主要内容,如果未能解决你的问题,请参考以下文章

解析 Cloud Code 关系查询语法

parse.com Cloud Code 防止重复错误

response.error不是Parse Cloud Code中的函数

使用 Parse Code Cloud Javascript 函数更改 Parse 列的值

使用 Parse Cloud Code 从数组中删除对象

Parse Cloud Code 中的调用函数