我试图确定为我的应用程序创建“保存”功能的最佳方式,并考虑使用IndexedDB
来实现这一点。我阅读了一些关于IndexedDB
的文档,但我一直无法找到我的问题的答案:
在我的应用程序中,用户拥有登录权限,可以对数据进行更改。这里的想法是,在点击Save
后,这些数据将存储在某个地方,其他登录的用户将能够看到这些更改,并在需要时进行其他修改,等等。现在,我的问题是,鉴于其他用户需要能够看到另一个用户所做的更改,IndexedDB
是否适合于此?或者IndexedDB
是否基于会话,其中的更改只能在本地查看?
如果这些更改被限制在本地查看,那就意味着我唯一的选择就是将这些更改存储在后端,并且用户每次保存数据都要访问数据库,这似乎不是一个可行的解决方案。
1.点击“保存”后,向后端发送一个标志,表示这是一次保存
1.检查该条目是否存在,如果不存在,则将其作为插入存储在数据库中(无需验证)。将标志添加到数据库中。如果该条目存在,则将其存储为更新。
1.如果用户提交(不同于保存),则执行数据验证并更新DB中的条目。
如果IndexedDB
不是一个选项,这是我能想到的最好的方法。理论上,有没有更好的方法来实现这一点?提前感谢。
3条答案
按热度按时间8yoxcaq71#
indexedDB是按源和浏览器客户端存储的。如果您在同一台计算机上有多个用户,每个用户使用相同的浏览器,并且访问相同的源,那么是的,您可以轻松地在同一个indexedDB数据库中存储不同用户的信息。
1wnzp6jl2#
如果同一台计算机上有多个用户,每个用户都使用同一个浏览器,并且访问同一个源,那么可以轻松地将不同用户的信息存储在同一个indexedDB数据库中。
你如何设置系统,以允许这种行为?你创建一个公共文件夹中的所有用户在文件系统?我看到, IndexedDB 数据存储在这里:
C:\Users\XXXXXX\AppData\Local\Google\Chrome\User Data\Default\IndexedDB
klr1opcd3#
只在indexedDB中存储加密数据,为每个用户设置密钥来区分记录,并为不同的用户绑定不同的解密密钥。
这样,即使是其他用户也可以看到记录行,但永远无法读取除了他自己的记录之外的真实的内容。