Javascript 将对象替换为保存前已存在的对象
当使用Parse时,是否可能有一个Javascript 将对象替换为保存前已存在的对象,javascript,ios,objective-c,parse-platform,Javascript,Ios,Objective C,Parse Platform,当使用Parse时,是否可能有一个beforeSave云函数,该函数不仅会修改正在保存的对象,而且会将其替换为一个全新的对象 例如 我正在创建一个消息应用程序,它将自定义表情作为消息的一部分 表情符号的图像都存储在本地设备上(沿着引用它们的plist) 因此,我有一个解析中的Message表,其中包含指向Emoji表的指针数组 Emoji表只有一个imageName条目,因此我存储的数据足以在所有设备上显示相同的图像。我不想上传和下载数百张图片 所以,我现在的问题是,如果15个不同的人都用“笑脸
beforeSave
云函数,该函数不仅会修改正在保存的对象,而且会将其替换为一个全新的对象
例如
我正在创建一个消息应用程序,它将自定义表情作为消息的一部分
表情符号的图像都存储在本地设备上(沿着引用它们的plist)
因此,我有一个解析中的Message
表,其中包含指向Emoji
表的指针数组
Emoji
表只有一个imageName
条目,因此我存储的数据足以在所有设备上显示相同的图像。我不想上传和下载数百张图片
所以,我现在的问题是,如果15个不同的人都用“笑脸”表情符号创建消息,那么表中就有15个“笑脸”emoji
对象,但它们本质上都是相同的
我想做的是在保存之前使用一个云代码,它可以查看表情符号并找到一个相同的表情符号。如果它没有找到open,那么这很好,因为它只会创建一个新的,但是如果找到了,那么它应该使用现有的,而不是创建一个副本
当我创建消息时,我会在一次保存中完成所有操作。我创建消息
对象并添加表情符号
对象数组,然后对消息
运行后台保存(这也会保存子对象)
我还没有任何代码,因为我真的不是一个JS开发人员,所以我不想直接开始黑客攻击。不过,如果能得到一些指导,那就太好了。在保存之前,您不能在中“重定向”对象,这样我就试图保存一个对象,而不是以静默方式更新另一个对象。您可以在beforeSave期间更新另一个对象,但为了防止保存新对象,您必须使该操作失败,因为该操作听起来不像您希望执行的操作
您可以在Save
之前添加钩子到消息
,以更新指向表情符号的指针。但是,在您的情况下,这不会阻止创建Emoji
中的新记录,因为必须先创建这些记录才能从消息创建指针
如果您确实需要解析中的指针,从消息
到使用的表情符号
,并且系统中的每个表情符号
只需要一条记录,您可以:
- 在启动时检索所有
Emoji
记录(可能在本地缓存),并在创建新消息时将其添加为指针
- 使用云代码功能创建消息,根据参数或消息内容在其中查找表情符号
在保存之前,您不能在中“重定向”对象,这样我会尝试保存一个对象,而不是以静默方式更新另一个对象。您可以在beforeSave期间更新另一个对象,但为了防止保存新对象,您必须使该操作失败,因为该操作听起来不像您希望执行的操作
您可以在Save
之前添加钩子到消息
,以更新指向表情符号的指针。但是,在您的情况下,这不会阻止创建Emoji
中的新记录,因为必须先创建这些记录才能从消息创建指针
如果您确实需要解析中的指针,从消息
到使用的表情符号
,并且系统中的每个表情符号
只需要一条记录,您可以:
- 在启动时检索所有
Emoji
记录(可能在本地缓存),并在创建新消息时将其添加为指针
- 使用云代码功能创建消息,根据参数或消息内容在其中查找表情符号
在保存之前,您不能在中“重定向”对象,这样我会尝试保存一个对象,而不是以静默方式更新另一个对象。您可以在beforeSave期间更新另一个对象,但为了防止保存新对象,您必须使该操作失败,因为该操作听起来不像您希望执行的操作
您可以在Save
之前添加钩子到消息
,以更新指向表情符号的指针。但是,在您的情况下,这不会阻止创建Emoji
中的新记录,因为必须先创建这些记录才能从消息创建指针
如果您确实需要解析中的指针,从消息
到使用的表情符号
,并且系统中的每个表情符号
只需要一条记录,您可以:
- 在启动时检索所有
Emoji
记录(可能在本地缓存),并在创建新消息时将其添加为指针
- 使用云代码功能创建消息,根据参数或消息内容在其中查找表情符号
在保存之前,您不能在中“重定向”对象,这样我会尝试保存一个对象,而不是以静默方式更新另一个对象。您可以在beforeSave期间更新另一个对象,但为了防止保存新对象,您必须使该操作失败,因为该操作听起来不像您希望执行的操作
您可以在Save
之前添加钩子到消息
,以更新指向表情符号的指针。但是,在您的情况下,这不会阻止创建Emoji
中的新记录,因为必须先创建这些记录才能从消息创建指针
如果您确实需要解析中的指针,从消息
到表情符号
s使用{"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"}}