【发布时间】:2020-10-14 13:52:19
【问题描述】:
我需要在服务器端实现一些复杂的业务逻辑,以防止我的 Firestore 文档之间发生内部冲突。特别是我想防止在日历中重复预订。
我一直在研究将 Cloud Firestore 功能作为达到目的的一种手段。但是,所有的写操作事件似乎都是在事后触发,因此相关业务逻辑在损坏完成后不会被调用。
到目前为止,我只发现了一种模式来规避这个问题,那就是使用这样的间接集合:
- 将操作写入“temporary_calendar”-collection
- “temporary_calendar”-collection 的 onWrite 已触发
- 检查新创建的临时日历项是否与现有的“日历”集合项冲突
- 如果没有,请将临时项目写入“日历”-集合
这是实现此功能的标准方式吗?如果是这样,将冲突传达回原始客户端的好方法是什么?
【问题讨论】:
标签: firebase google-cloud-firestore google-cloud-functions