解析 - 手动设置对象ID

Jak*_* T. 2 parse-platform

我有两个版本的应用程序解析,测试和实时版本.

我创建了一个新类,并在每个应用程序上创建了一个类的实例.在我的iOS应用程序内部,我调用该实例来获取一堆字符串,以便在整个应用程序中使用.不幸的是,我决定按对象id进行查询,我忘了用实时应用版本的id替换测试应用版本的对象ID ...因此,查询不返回任何对象,并且我的字符串未设置.

我担心这不会成为苹果公司接受快速发布的问题.我最好的选择是创建具有相同对象ID的对象,以便它被拉起来.这不需要在应用商店上进行任何更新.

没有办法做到这一点?我找到了一个createWithoutData方法,但它无法创建实例,只引用现有实例.我尝试了以下操作,但是当我尝试保存它时,它返回了错误"找不到更新的对象".

// Create a pointer to an object of class Point with id dlkj83d
var Point = Parse.Object.extend("Point");
var point = new Point();
point.id = "dlkj83d";
Run Code Online (Sandbox Code Playgroud)

我甚至想过尝试一个创建对象的循环,直到它找到一个具有正确id的对象,但是在对象被保存之前你没有得到一个指定的id,显然,请求限制使得它极不可能富有成效.

我找不到任何Parse支持号码,它只是说要问社区......我觉得我应该能够找到一个支持号码并要求某人更改我现有的ID或者手动创建一个新的ID为了我.这不应该是不可能的.如果你知道如何处理这个问题,请告诉我!

感谢任何和所有提示.

Meg*_*iya 9

虽然您可以使用以下步骤更改现有的ObjectID,但Parse不允许手动或以编程方式设置对象ID

1)备份要更改ObjectID的特定类.

2)备份文件将以.json格式在文本编辑器中打开.

3)找到ObjectID并替换为您的新ObjectID.

4)在Parse中导入这个全部.

我希望这将有所帮助.

编辑 - Parse-Server仍然可以实现,但必须直接通过数据库而不是Parse-Server完成.仪表板中没有内置导入/导出工具,您仍然不允许设置或修改现有对象的objectIds.但是,您可以使用_id字段集导入.bson和.json数据,从而允许您显式设置objectIds.虽然这些objectId可以是任何值,但强烈建议您遵循Parse-Server的模式并确保您不创建任何重复的ID.