複数のノードにまたがる 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)"
}
明らかにそれは機能しますが(試したことはないと思います)、それでも新しい回答を作成してカウンターを減らすことができます。どうすればその問題を克服できますか?