gpt4 book ai didi

javascript - 使用 Parse javascript SDK 更新对象数组

转载 作者:行者123 更新时间:2023-12-01 06:08:29 24 4
gpt4 key购买 nike

我正在尝试更新 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(...);

我已经试过了:

  1. 只保存空数组 type1.set("childTypes", []) - 它有效。但是一旦我向其中添加一个 Type2 对象 - 同样的错误,尽管这些 Type2 对象取自完全相同的 type1 对象的“childTypes”数组。

  2. 还有一个非常奇怪的情况 - 如果我使用 JSON.stringify 将 Type1 对象转换为字符串,它会产生正确的结果,但是这个调用 JSON.stringify(type1.get("childTypes")) 给出了关于未保存的 ParseObject 的完全相同的错误。我不知道 stringify 是如何与 Parse.Object 联系起来的。可能解析覆盖了一些东西。

也许在 Javascript SDK 中有不同的数组设置方式?我在 API 中找不到它。 “Parse”这个名称使得用谷歌搜索任何东西都变得非常困难 :( 尤其是“json”这个词。

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

最佳答案

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

虽然有趣的是为什么这个错误会破坏 JSON.stringify

关于javascript - 使用 Parse javascript SDK 更新对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34810811/

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