【问题标题】:How firestore data architecture for restaurants餐厅的 Firestore 数据架构如何
【发布时间】:2020-05-01 09:46:58
【问题描述】:

我们有一个餐厅订单跟踪应用程序,我们使用 firestore。

我们对数据库架构有一些疑问。我们应该如何保存数据?

我们目前存储订单如下

服务器/{restaurant}/订单/{OrderID}

每个订单文档都包含tableName参数,我们在接单和支付表时使用tableName字段查询。

这应该是正确的架构吗?

server / {restaurant} / tables / {TableID} / orders / {OrderID}

服务器/{restaurant}/tables/{TableID}/payments/{paymentıd}

这是您可以想象的标准餐厅系统。

餐厅有很多桌子,在这个桌子上有订单和付款,这就是它的运作方式......

【问题讨论】:

  • 您要执行哪些查询?
  • @AlexMamo 感谢您的回复,我们需要所有表,在此表中订单和付款......我们存储产品统计信息与......我们现在使用获取所有订单来减少和过滤表名称并显示表付款和订单.. 该系统是标准的餐厅订单系统,您可以想象

标签: firebase google-cloud-firestore


【解决方案1】:

这是一个高度自以为是且特定于应用程序的问题。

对于 Firestore / NoSQL,我建议首先从用户的角度对您的应用程序进行原型设计。每个屏幕上有哪些不同的屏幕和相关数据。这将帮助您识别经常执行的不同查询和读/写操作,以及如何最好地构建您的 Firestore。

例如:您可能将表格订单保存在单独的唯一文档中,但其中一个屏幕包含“订单摘要”,用户可以在其中查看之前的 100 个订单。此要求可能要求您还希望包含一个包含先前订单的摘要文档,这样当用户查看您的摘要屏幕时,您不会被收取 100 次读取操作的费用,而只需 1 次。

  • 首先制作视图原型
  • 确定每个视图的数据模型
  • 确定您需要执行的查询
  • 开始构建可满足上述要求的数据库基础架构

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多