gpt4 book ai didi

javascript - 删除云代码中的指针属性

转载 作者:行者123 更新时间:2023-11-27 23:34:54 25 4
gpt4 key购买 nike

从“MyModel”类中删除一个对象后,下面的代码尝试通过指针属性删除与其相关的两个对象,一个称为“颜色”,一个称为“目标”。这些对象存在于数据中,但日志指示“未找到对象”错误。

代码来源于this answer .

云代码:

function deleteMyModelPointer(myModel, pointerName, pointerClass) {
var pointer = myModel.get(pointerName);
if (pointer) {
var query = new Parse.Query(pointerClass);
return query.get(pointer).then(function(relatedObject) {
return relatedObject.destroy();
});
} else {
return null;
}
}

Parse.Cloud.beforeDelete("MyModel", function(request, response) {
var myModel = request.object;
deleteMyModelPointer(myModel, "colors", "ColorModel").then(function() {
return deleteMyModelPointer(myModel , "goal", "Goal");
}).then(function() {
response.success();
}, function(error) {
response.error(error);
});
});

日志:


v14 before_delete 为用户 wMgAGMOPNK 的 MyModel 触发:
输入: {"object":{"ACL":{"wMgAGMOPNK":{"read":true,"write":true}},"colors":{"__type":"Pointer","className":"ColorModel","objectId":"Z3gEplJ0tq"},"counter":1,"createdAt":"2015-12-10T14:06:19.630Z","createdAtLocally":{"__type":"日期","iso ":"2015-12-10T14:06:18.825Z"},"deletedLocally":false,"目标":{"__type":"指针","className":"目标","objectId":"BkruZqhyJ7"},"lastModifiedAt":{"__type":"日期","iso":"2015-12-10T14:06:24.270Z"},"objectId":"LuobH2P8iz","re​​setValue":0,"stepBy":1,"title":"Ggggggg","updatedAt":"2015-12-10T14:06:24.670Z","user":{"__type":"指针","className":"_User","objectId":"wMgAGMOPNK"}}}
结果:{“code”:101,“message”:“找不到对象。”}

但是来自对象浏览器和客户端的两个指针仍然存在。正如我所说,ACL 设置为所有 3 个对象的登录 PFUser(具有读、写权限)。

最佳答案

问题是 OP 代码是为 objectId 属性编写的,而不是指针。有了 objectId,正确的操作是使用 query.get() 来获取相关对象,但对于指针,只需要 fetch 指针(并且不需要知道它的类)。

function deleteMyModelPointer(myModel, pointerName) {
var pointer = myModel.get(pointerName);
if (pointer) {
return pointer.fetch().then(function(relatedObject) {
return relatedObject.destroy();
});
} else {
return null;
}
}

调用方可以保持不变,只需删除第三个参数即可。

关于javascript - 删除云代码中的指针属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34204935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com