当使用Parse拥有一个beforeSave云函数时,不仅可以修改所保存的对象,还可以将其替换为一个全新的对象。
例如..。
我正在创建一个消息应用程序,它使用自定义的表情符号作为消息的一部分。
表情符号的图像都是本地存储在设备上的(沿着用来引用它们的plist )。
因此,我在Parse中有一个Message表,其中包含指向Emoji表的指针数组。
Emoji表只有一个imageName条目,所以我所存储的数据足以在所有设备上显示相同的图像。我不想上传和下载数百张图片。
所以,我现在遇到的问题是,如果15个不同的人都用"Smiley Face“表情创建消息,那么表中有15个"Smiley Face”Emoji对象,但它们基本上是相同的。
我想做的是拥有一个云代码before save函数,它可以查看表情符号并找到一个相同的表情符号。如果它没有找到open,那就好了,因为它只会创建一个新的,但是如果它找到了,那么它应该使用现有的一个,而不是创建一个副本。
当我创建消息时,我会在一次保存中完成所有操作。我创建message对象并添加emoji对象的数组,然后在message上运行后台保存(这也可以保存子对象)。
我还没有任何代码,因为我真的不是一个JS开发人员,所以我不想只是开始黑客攻击。不过,如果能得到一些指导就好了。
发布于 2014-06-23 17:36:13
您不能在beforeSave中“重定向”一个对象,因此我试图保存一个对象,而不是静默地更新另一个对象。您可以在beforeSave期间更新另一个对象,但是为了防止保存新对象,您必须失败该操作,这听起来并不像您想要做的那样。
您可以将beforeSave钩子添加到Message以更新指向Emoji的指针。但是,在您的示例中,这不会阻止创建Emoji中的新记录,因为必须先创建这些记录才能从Message创建指针。
如果您确实需要从Message到Emoji的used 和的Parse中的指针,您只需要为系统中的每个Emoji记录一条,您可以这样做:
Emoji记录(可能在本地缓存它们),并在创建新消息时将它们添加为指针。Emoji的消息。发布于 2014-06-23 17:44:18
IMO您的消息表条目可以使用指针(指向一个或多个解析文件)。
每个指针的细节..。
{"toEmoji":{"__type":"File","name":"9d74eb8e-11bd-4bd0-9146-bc01c6656daa-......jpg","url":"http://files.parse.com/09d82830-ec2d-40b4-bb14-944728550685/9d74eb8e-11bd-4bd0-9146-bc01c6656daa-.......jpg"}}因此,在对任何文件上传一个新的表情符号之前,运行您的流程以找到现有的DUPE。
onDupe()只返回要解析的文件帖子返回的相同签名.{"fileName":"","fileUrl":"“}
然后它是独立的(不知道作为新消息指针的目标的属性值是指向现有的文件还是指向新的文件)。
https://stackoverflow.com/questions/24368123
复制相似问题