我正在使用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
。您应该注意,objectId
,createdAt
和modifiedAt
无法通过get("columnName")
使用,它们是本机属性,因此您必须使用results[i].createdAt
。这就是为什么finalArray
会充满空值的原因。
关于javascript - Cloud Code Parse Framework上的Cant访问属性“createdAt”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29262317/