0

我正在尝试了解如何从离子存储中获取和检索数据,我需要一些帮助,因为我是新手。

假设我有一行将以下 JSON 文档设置为存储键:

 person = [
     { "id": "0001", 1:"name", 2:"gender", 3: "age":"5"},
     { "id": "0002", 1:"name", 2:"gender", 3: "age":"5"}
    ]

使用storage.set('persons', persons),我可以将 JSON 的值设置为离子存储的 people 键。

当我想更改 JSON 文件的第二项时"id": 0002,我是否应该将整个 JSON 读入内存,搜索 0002 并修改然后将新的 JSON 文档发送回 ionic 存储?还是有更好的方法?

提前致谢。

4

2 回答 2

1

Ionic Storage 基于 localForage 库,是一个简单的键/值存储。

根据您的示例,此存储有 2 个选项:

  1. 如果人员对象的整体大小相对较小,您确实可以将整个对象存储为一个值。这意味着如果您需要更改对象(或数组)内的项目 - 您必须获取完整对象(包含所有人员数据)、更改项目、将其作为一个整体对象再次保存(设置)

  2. 如果您希望执行大量此类操作并且数据大小会增长,您可以通过“拆分”您的对象并为每个“人”项使用不同的键作为值来解决此问题:

storage.set(“persons_person00”, 人[0])

这种方法需要您仔细考虑您的键命名约定,因为您希望与名称非常一致。

同样在后一种方法中,您可能需要使用 .forEach 存储方法,具体取决于您在初始化等期间“全部读取”的需要

于 2018-06-20T19:19:11.653 回答
0

在我看来,最好的方法是滚动数组,更改特定项目,然后使用此更改设置新的 obj。

于 2018-06-20T19:36:24.707 回答