我正在尝试深入研究 Dojo 工具包的数据/存储概念。
我知道,Dojo Store 将取代 Dojo Data API,所以我会尝试使用新的 API。
有两点让我怀疑我是否理解了这个API背后的概念:
Dojo 仅提供 Memory Store 和 Json-REST Store。如果它基于 IndexedDB API,为什么它不提供 IndexedDB Store?
我还没有找到存储用于存储不同数据类型的示例。在 SQL 数据库中,您可能有不同的表,每个表都有一个 ID 列。我如何将这个概念映射到 Dojo 商店:我应该使用不同的商店来表示 Person 和 Company(作为示例)吗?还是我应该在同一家店里买?因此有什么指导方针吗?
最佳答案
为什么 Dojo 不提供 IndexedDB Store?
好问题。我不知道。
我还没有找到存储用于存储不同数据类型的示例。我如何将这个概念映射到 Dojo 商店?
Javascript 是一种动态类型语言,因此没有什么能阻止您在异构集合中存储多种数据类型。 Dojo 商店 API 在这里故意含糊不清以保持灵 active - 我将其更多地视为一套广泛的指导方针,而不是硬性 API。
如果你使用内存存储,你当然可以向它添加具有不同模式的对象,但是没有什么能阻止任何人制作某种更严格的对象存储,并且每个存储只接受一种对象,类似于 SQL 表.
也就是说,我更喜欢保持我的商店同质化,以避免混淆(我会为 Person 和 Company 提供单独的商店)。请记住,您存储的对象可能包含分层数据(子对象),因此如果您有 1-N 关系,您可以使用父对象的单个存储来存储所有内容。
关于javascript - 道场店概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10256847/