Google Cloud Firestore
データベースのセキュリティルールを設定しています。私は、そのタイムスタンプの値は、次のロジックを使用して、過去に30日以上である場合にのみ、ドキュメントの削除を許可しようとしています:Cloud Firestoreのセキュリティルールのデバッグ
allow delete: if
resource.data.locked == false
&& (request.time - resource.data.timeStamp).seconds > 2592000;
私はこれをしようとすると、私はError: Missing or insufficient permissions
を取得します。だから、最初の質問 - 私はこの間違っているのだろうか、または私のロジックに欠陥がありますか?
また、追加の質問として、ルールをデバッグする方法がありますか?おそらく、console.log
相当のもので、条件付きルールの結果が適用されているのを見て、タイムスタンプの代わりに文字列を送信していないかどうか、あるいはそれに似ていることを確認できますか?
私はrequest.time
は「今」であることを仮定していると私のresource.data.timeStamp
は正しいことをし、その1つのマイナス、他のリターンはDuration
とそのthatDuration.seconds
はnumber
を返しているが、私はこれに初心者くさいとそれらの仮定のいずれかです間違っている可能性があり、これらの値が処理されているのを見ることができるのは素晴らしいことです。
乾杯すべて
あなたは 'duration.value()' [doc](https://cloud.google.com/firestore/docs/reference/security/#duration) – Hareesh
を試しましたか?このことがデバッガを取得するまで待ちません – DarkNeuron