我正在使用Cloude代码创建稍微复杂一点的查询,但是我无法访问由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仅用空对象填充。

最佳答案

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

其次,您说结果填充了空对象,因此它返回结果数组吗?

results充满了空值还是finalArray。您应该注意,objectIdcreatedAtmodifiedAt无法通过get("columnName")使用,它们是本机属性,因此您必须使用results[i].createdAt。这就是为什么finalArray会充满空值的原因。

关于javascript - Cloud Code Parse Framework上的Cant访问属性“createdAt”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29262317/

10-09 14:38