【发布时间】:2021-09-27 20:10:43
【问题描述】:
我正在为我的 web 应用程序使用 Dexie。但是,从文档中我无法获得 bulkPut 成功返回的确切信息。
例如: 假设在我的数据库中,我有三个 ID 为 1、3 和 5 的对象。例如,我将其显示为整数数组:DB = [1, 3, 5]。
我的应用程序已要求服务器将服务器中的所有项目提供给我。我收到了一个包含四个对象的数组:result = [2, 3, 4, 5]。 2 和 4 是新项目,3 与我的数据库中的 3 相同,但已修改。 5 未修改,因此等于我的 DB 对象。
我希望 bulkAdd 和 bulkPut 的输出如下:
当我在捕获错误的地方使用 Table.bulkAdd(result, {allKeys: true}) 时,我期望得到以下结果: 我的数据库包含: [1, 2, 3, 4, 5] 并且我的 .then() 将返回一个承诺,其中包含 id 2 和 4。
当我在捕获错误的地方使用 Table.bulkPut(result, {allKeys: true}) 时,我希望得到以下结果: 我的数据库包含: [1, 2, 3, 4, 5] 并且我的 .then() 将返回一个承诺,其中包含 id 的 2、3 和 4。因为5 没有被修改,因此没有被替换。
我希望方法的承诺只返回实际添加/修改的值的键。这个假设正确吗?因为实际上这不是我的应用程序中发生的情况。 在我的应用程序中,我使用了 bulkPut(这样我就可以使用一种方法添加和更新我的数据),但不知何故,它总是返回 2 个项目键,而不管输入是包含已修改项目还是现有项目的数组。
【问题讨论】:
标签: dexie