旅馆预订系统的Firestore数据结构

时间:2018-09-26 22:56:53

标签: firebase nosql google-cloud-firestore

我想构建一个酒店预订系统,该系统还将把可用性推向渠道经理。我想使用Firestore存储数据。我读了几篇文章,但对它来说还很新。

我打算使用这样的结构来设置数据库:

  

收藏:“预订”

     

字段:reservation_id,状态,姓名,电子邮件,入住日期,退房日期,room_id等

     

收藏:“房间”

     

字段:room_id,room_type,room_number等

     

集合:“可用性”

     

字段:room_id,日期,isAvailable   示例:{room_id:1,日期:“ 2018-10-05”,isAvailable:true},{room_id:1,日期:“ 2018-10-06”,isAvailable:true}

这些是我需要的一些情况:

  

情况:创建新的预订

     

我将创建一个新的“预订”文档,还将更新这些日期的“可用性”文档。

     

情况:所有房间的多日历视图

     

我将获得日期和房间的所有文档,并显示在网格中

我的问题是:

(1)这是为Firestore设置的最佳结构吗?

(2)我是否需要将“可用性”设置为“房间”的子集合?

唯一的是我需要经常获得所有房间的可用性,这样会导致很多读取操作。

(3)是否将Date存储为时间戳对象或字符串?没有小时/分钟的时间,所以对我来说看起来有点太多,我喜欢“ 2018-10-05”,看起来很整洁。

(4)创建新预订后,如何编写查询以更新可用性?如何获取我想要的日期范围?

感谢您阅读我的问题:)

1 个答案:

答案 0 :(得分:0)

  

我建议您将dateCreated添加到预订中。

对于房间,您还应该添加楼层(1st / 2nd),以及酒店级别(我的意思是 5/4星

并且您还需要一个酒店集合,包括其ID,名称,位置,星级,可使用餐厅,可停车等。