Firebase 如何为餐厅提供firestore数据体系结构

Firebase 如何为餐厅提供firestore数据体系结构,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我们有一个餐厅订单跟踪应用程序,我们使用firestore 我们对数据库体系结构有一些疑问。我们应该如何保存数据 我们目前存储订单如下 server/{restaurant}/orders/{OrderID} 每个订单文档都包含tableName参数,我们在接受表的订单和支付表的费用时使用tableName字段查询它 这应该是正确的体系结构吗 server/{restaurant}/tables/{TableID}/orders/{OrderID} server/{restaurant}/tab

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

我们对数据库体系结构有一些疑问。我们应该如何保存数据

我们目前存储订单如下

server/{restaurant}/orders/{OrderID}

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

这应该是正确的体系结构吗

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

server/{restaurant}/tables/{TableID}/payments/{paymentıd}

这是标准餐厅系统,你可以想象它


餐厅有很多桌子,在这些桌子上有订单和付款,这就是它的工作原理…

这是一个非常固执己见且特定于应用程序的问题

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

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

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

您想执行哪些查询?@AlexMamo感谢您的回复,我们需要所有表格,以及此表格中的订单和付款。。我们存储产品统计数据与。。。现在,我们使用get all orders按表名进行重复使用和筛选,并显示表payments和orders。。这个系统是你可以想象的标准餐厅点菜系统