Parse platform 从beforeSave中读取对象

Parse platform 从beforeSave中读取对象,parse-platform,Parse Platform,我正在尝试从beforeSave方法检索/获取当前对象,因为我想在更新启动之前知道“Parent”列的值 我使用了下面的代码。然而,我看到旧值和新值保持相等,尽管“父”的值已通过数据浏览器更改 是否建议在保存之前从读取当前对象?下面有什么问题吗 Parse.Cloud.beforeSave("Products", function(request, response) { var oldObject = new Parse.Object('Products'); oldObjec

我正在尝试从
beforeSave
方法检索/获取当前对象,因为我想在更新启动之前知道“Parent”列的值

我使用了下面的代码。然而,我看到旧值和新值保持相等,尽管“父”的值已通过数据浏览器更改

是否建议在保存之前从
读取当前对象?下面有什么问题吗

Parse.Cloud.beforeSave("Products", function(request, response) {
    var oldObject = new Parse.Object('Products');
    oldObject.id = "RTRzAf1FyX"; // RTRzAf1FyX is equal to request.object.id. oldObject.id is being hard coded to RTRzAf1FyX

    listOfAllPromisesForCurrentObject.push(oldObject.fetch());

    Parse.Promise.when(listOfAllPromisesForCurrentObject).then(function(currentObject) {

      console.log("11111 +++++++++++++++" + JSON.stringify( request.object.get('Parent')) ); //Parent is a column name
      console.log("11111 ---------------" + JSON.stringify( currentObject.get('Parent')) );

});

你不能得到那些旧的价值观。只是不管钥匙是否脏。我唯一的建议是使用两个指针,parent和oldParent,当您更新parent时,首先执行oldParent=parent

我认为这是不真实的。看@danh不,它不起作用。事实上,您的解决方案依赖于“query.get(object.id)”,返回一个旧值。然而,这在最新的parse版本中并没有发生。不确定Parse之前的行为。看来@jake-t建议是解决这个问题的唯一办法。如果存在其他解决方案,我会很高兴。我建议在使用完beforeSave触发器后删除该触发器中的oldParent指针,以避免在获取/保存Products对象时获取/保存额外的对象。