领域电子商务数据库设计

时间:2018-05-05 22:22:33

标签: realm realm-mobile-platform

我正在玩Realm以反应原生,实际上我很喜欢它。 我试图了解它的所有核心概念,以便充分利用它的所有功能。 我正在尝试为简单的电子商务应用设计数据结构,试图利用“多领域”功能。 我想设计数据的方式如下:

  • 创建一个公共领域,我计划在其中放置产品目录和其他一些公开可用的数据
  • 创建一个系统领域,只有admin用户才能访问,我有所有用户元数据列表(名称,姓氏等)
  • 为每个用户创建一个领域,例如我计划存储用户的购物车和用户的订单

恕我直言,这是一个很好的设计,因为所有用户相关数据只能由用户访问,最终只能由管理员用户访问,所有系统数据(例如:用户)只能由管理员用户访问。

顺便说一下,这种设计有一些缺点:

  • 由于显然会有一个Web后台,例如会有一个所有订单的列表,获取所有用户的所有订单的列表将是棘手的,因为订单被分成多个领域。

解决此问题的自然方法是将订单保存在单个域中,并使用where条件查询来自任何单个用户的数据,并在orders表中添加userId列。

我对这种解决方案的疑问是,潜在的恶意用户,具有能够从该领域读取和写入的合法用户令牌,可能会读写属于其他用户的记录。发生这种情况是因为领域的权限系统允许您仅在领域级别和记录级别授予权限。

  • 另一个问题是,在此设计中,购物车项目存储在用户领域。显然,购物车商品必须包含对产品的引用,但产品存储在公共领域。我显然可以从公共领域查询产品,然后添加包含对产品的引用的购物车项目,但保存在公共领域的产品和保存在用户领域的产品是无关的,这意味着如果我更改产品在公共领域,更改不会反映到购物车中保存的产品对象

鉴于你对领域的经验,你会如何解决这个问题?

非常感谢

0 个答案:

没有答案