Firebase使用安全规则以原子方式推送和设置多个节点

时间:2016-07-01 17:09:35

标签: firebase firebase-realtime-database firebase-security angularfire2

我已阅读Firebase data consistency across multiple nodes,多次更新内容按预期工作,但我不知道如何执行以下操作:

假设我有2个集合:answersposts。现在我想写一个帖子的答案,并在post对象上增加答案计数器,保持集合之间的数据一致。所以实际的对象看起来与这些类似:

发表

{
   ...,
   answers: X
}

答案

{
   postID: <random string>,
   ...
}

正如我上面所说,该链接回答了如何进行合并更新,但是,如何确保answers属性只会递增/递减(如果删除)1?到目前为止我所拥有的是:

"answers": {
  ".validate": "newData.isNumber() && (newData.val() === data.val() + 1 || newData.val() === data.val() - 1)"
}

显然这会起作用(我假设,还没有尝试过),但这仍然允许我创建一个新答案并减少计数器。我怎样才能克服这个问题?

0 个答案:

没有答案