2017-10-01 11 views
0

'user_post'で書かれたデータが 'user_profile'に保存されたデータと一致することを確認する検証ルールを作成しようとしています。私のルールは以下のとおりである。Firebaseリアルタイムデータ検証ルール

"user_post":{ 
     ".read":true, 
     ".write":true, 
     "$posts":{ 
      "location_id":{".validate":"newData.child('location_id').val() === root.child('user_profile').child(auth.uid).child('location_id').val()"} 
     } 
    } 

しかし、ルールは「user_post」は同一である&「USER_PROFILE」にlocation_idのにもかかわらず、書き込みを防止します。

私は間違っていますか?

+0

エラー...私が達成しようとしているのは、 'location_id'が 'user_profile'と 'user_post'の両方で同じであれば書き込みが可能です。同じでない場合、書き込みは許可されません。 –

+0

書き込みに失敗します。検証ルールが真の結果をもたらすので、失敗してはならない –

答えて

0

あなたがそれを書いた方法は、あなたがlocationidをチェックしている、しかし、あなたが実際にlocationidをしたいので、それはnewData.val() == root...でなければなりません。

関連する問題