【问题标题】:Reading parse objects with cloud code使用云代码读取解析对象
【发布时间】:2014-09-25 16:34:59
【问题描述】:

我目前正在接近 Parse Cloud Code 并了解我正在检查一些基本示例。 我的解析数据库中有一个名为 MeetingObject 的类。这个类有一个字段“meetingDateAndTime”。 我创建了一个后台作业,用于检查早于当前时间的对象并销毁它们。我想在解析信息日志中看到被破坏对象的objectId,但我只能看到成功消息,而不是日志。我也尝试使用 result.objectId。也许我使用的“结果”变量不是数组。我做错了什么?

Parse.Cloud.job("deleteOldMeetings", function(request, status) {
var query = new Parse.Query("MeetingObject");            
var currentDate = new Date();                
query.lessThan("meetingDateAndTime", currentDate);
query.find({          
success:function(results) {   
    for (var i = 0, len = results.length; i < len; i++) {
        var result = results[i];
        console.log("Destroyed object.objectId: "+result.get("objectId"));
        result.destroy({});
    }
    status.success("Success.");
},                
error: function(error) {
    status.error("Uh oh, something went wrong.");
    console.log("Failed!");
}
})
});

【问题讨论】:

  • 对象被销毁了吗?
  • 尝试将 console.log 语句移动到调用销毁的正上方。此外,获取对象属性的正确 parse.com 语法是使用 get:result.get("objectId"),而不是 result["objectId"]。您还应该考虑使用 destroyAll 方法,在一次操作中销毁对象列表。
  • 我用您建议的更改编辑了代码并在解析中尝试过,日志是这样的:“Destroyed object.objectId: undefined”。我更喜欢使用简单的destroy而不是destroyAll,因为我还需要对创建会议的用户进行一些更改,所以最好在循环中进行这些更改。
  • 好的。对于对象 id,我认为您可以只使用 id。结果.id。但是在你销毁它之后你就​​不能记录它了。这可能就是您在日志中看不到任何内容的原因。
  • 它有效。非常感谢。如果你想写一个答案,我会接受它;)

标签: javascript parse-platform


【解决方案1】:
  • 获取名为“thing”的解析对象的 id:thing.id
  • 要获取名为“thing”的解析对象的任何其他属性(称为“attr”):thing.get("attr")
  • 您不能在对象被销毁后引用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多