在 Parse CloudCode 中删除对象的所有子项
Posted
技术标签:
【中文标题】在 Parse CloudCode 中删除对象的所有子项【英文标题】:Delete all children of an object in Parse CloudCode 【发布时间】:2016-01-12 20:18:03 【问题描述】:我正在测试 Parse.com 作为我的一个 ios 应用程序的后端,我对带有“afterDelete”触发器的 CloudCode 功能有疑问。
我的应用有一个相册列表,每个相册都有一个图片列表。一个相册可以包含成百上千张图片。当用户删除相册时,其所有图片也将被删除。
我正在关注 Parse.com 指南 (https://parse.com/docs/cloudcode/guide#cloud-code-afterdelete-triggers) 上的示例,其中包含“destroyAll”功能。但是,当我使用它时,只有前 100 个孩子(图片)被删除。有没有办法真正删除 ONE 查询中对象的 ALL 子对象?
谢谢
【问题讨论】:
不,最多查询 1000 个项目 See this link。要点是您不能使用find
+ destroyAll
,而应使用each
和destroy
。
@Russell 我已经用each
测试了这段代码,但我仍然得到相同的结果。只有前 100 条记录被删除。
是 afterDelete
触发器的 3 秒超时发生还是 100 秒? Per this post by Parse's Hector Ramos,使用 Parse.Query 的 each() 而不是 find() 将确保所有对象都被删除。
我已经用后台作业进行了测试,我的所有记录都被删除了,所以我想它也与超时有关。但是我也看到了很多 API 请求,所以如果我有几个用户同时删除他们的记录,我很容易达到 30reqs/s 的限制......
【参考方案1】:
既然 Parse Server 是开源的,这个问题就变得无关紧要了,因为我可以自己消除所有这些限制 :-)
【讨论】:
以上是关于在 Parse CloudCode 中删除对象的所有子项的主要内容,如果未能解决你的问题,请参考以下文章
在自托管 Parse Server 中测试 CloudCode