我已经阅读了Firebase 跨多个节点的数据一致性,多更新的东西按预期工作,但是我不知道如何执行以下操作:
假设我有 2 个集合:answers
和posts
. 现在我想写一个帖子的答案并增加帖子对象上的答案计数器,以保持集合之间的数据一致。所以实际的对象看起来类似于这些:
邮政
{
...,
answers: X
}
回答
{
postID: <random string>,
...
}
正如我上面所说,该链接回答了如何进行合并更新,但是,我如何确定该answers
属性只会增加/减少(在删除的情况下)1?我到目前为止是这样的:
"answers": {
".validate": "newData.isNumber() && (newData.val() === data.val() + 1 || newData.val() === data.val() - 1)"
}
显然这会起作用(我假设,没有尝试过),但这仍然可以让我创建一个新的答案并减少计数器。我该如何克服这个问题?