【发布时间】:2018-11-21 00:35:14
【问题描述】:
我遇到了 Firebase 写入乱序的问题。
我有一个将数据写入文档的函数。对象改变状态,然后调用函数将状态写入 Firebase。
function saveStateToFirebase(currentState: any): void{
admin.firestore().doc(`id`).set(currentState);
}
//... application calls these functions with calculated objects called state
saveStateToFirebase(state0);
saveStateToFirebase(state1);
文档数据应设置为 state1,但是,有时(我猜是由于赛车网络条件)文档数据有可能设置为 state0 .
如何解决较早写入覆盖较晚写入的问题? RxJS 有没有优雅的解决方案?我阅读了 Firestore 交易的文档,但不确定它是否适用于此。因为我没有根据前一个字段同时更新数据库中的字段。我只关心我的软件的最新状态。
【问题讨论】:
-
您的状态是存储为字符串还是整数?如果它们是数字,则很容易编写一个事务,该事务只有在新数据大于旧数据时才会完成。
标签: node.js typescript firebase google-cloud-firestore