2
私はfirebaseでいくつかのテストを行い、規則の有効性の違いを確認しましたonDisconnect().update()
と簡単なupdate()
の間では、規則でnewData.parent()
を使用しています。なぜ、検証ルールがonDisconnectの更新と異なる(のみ)動作するのですか?
私はupdate()
を使用しています。しかし、onDisonnect().update()
と私はPERMISSION_DENIEDを持っている!
データベースルール:
{
"rules": {
"$id": {
".read": true,
".write": true,
"a": { ".validate": true },
"b": { ".validate": "newData.parent().child('a').val() == 'a'" },
}
}
}
Javascriptを:
const valid = {
a: 'a',
b: 'b'
};
function update(obj) {
console.log('update', obj);
return ref.update(obj);
}
function onDisconnectUpdate(obj) {
console.log('onDisconnectUpdate', obj);
return ref.onDisconnect().update(obj);
}
update(valid);
onDisconnectUpdate(valid);
私はあなたが私を助けることができると思います。 onDisconnect()
動作中
大きな質問ダグラス。私が下に投稿した(残念なことに)答えを掘るのに時間がかかりました。 –