使用Parse javascript SDK更新对象数组

使用Parse javascript SDK更新对象数组,javascript,json,parse-platform,Javascript,Json,Parse Platform,我试图更新Parse中的一个对象,该对象的属性之一是其他对象的数组 例如,有一个父类型“Type1”,它有一个数组属性“childTypes”,用于存储“Type2”对象 如果我从服务器查询Type1,然后将其保存回去,它会工作,但是我想在查询之后更新Type2实例的一些字段,在数组中重新排列它们,然后将Type1保存回去 我收到错误“无法创建指向未保存的ParseObject的指针”,但我检查了,Type1对象有其id,所有Type2实例也有其id。它们是Parse.Object对象 我正试图

我试图更新Parse中的一个对象,该对象的属性之一是其他对象的数组

例如,有一个父类型“Type1”,它有一个数组属性“childTypes”,用于存储“Type2”对象

如果我从服务器查询Type1,然后将其保存回去,它会工作,但是我想在查询之后更新Type2实例的一些字段,在数组中重新排列它们,然后将Type1保存回去

我收到错误“无法创建指向未保存的ParseObject的指针”,但我检查了,Type1对象有其id,所有Type2实例也有其id。它们是Parse.Object对象

我正试图这样储蓄:

var oldChildTypes = type1.get("childTypes");
// rearrange childtypes here ...

var childTypes = [];
childTypes.push(...) // push rearranged Type2 items one by one

type1.set("childTypes", childTypes);
type1.save(...);
我已经试过了:

  • 只保存空数组
    type1.set(“childTypes”,[])
    -它可以工作。 但当我向其中添加一个Type2对象时——同样的错误,尽管这些Type2对象取自同一个type1对象的“childTypes”数组

  • 还有一个非常奇怪的情况-如果我使用JSON.stringify将Type1对象转换为字符串,它会产生正确的结果,但是调用
    JSON.stringify(Type1.get(“childTypes”)
    会给出与未保存的ParseObject完全相同的错误。我不知道stringify是如何与Parse.Object连接的。可能是解析重写了一些东西

  • 也许在Javascript SDK中有一种不同的设置数组的方法?我在API中找不到它。“Parse”这个名字让谷歌很难搜索任何东西:(尤其是“json”这个词)

    这是此处的来源,当对象没有id属性时会产生此错误。我的层次结构中只有一个对象没有id,它是一个数组。如有任何帮助,将不胜感激。

    数组很好:| 只是另一个bug导致在层次结构中添加其他对象,并且在控制台日志中不可见

    尽管很有趣,为什么这个错误会破坏JSON.stringify