前提・実現したいこと
keyIdentifier に格納してある 内容をキーにして .childByAutoID に保存してあるすべてのデータを削除したいんですが、うまく実行できません。
ご教授お願いします。
発生している問題・エラーメッセージ
Swift
1ref = Database.database().reference() 2ref.child("schedule").child(uid).queryOrdered(byChild: "00identifier").queryEqual(toValue: keyIdentifier!).removeAllObservers()
試したこと
コードはエラーにはならないんですが、アプリで削除アクションを実行してもデータベースの情報が削除されていませんでした。
補足情報(FW/ツールのバージョンなど)
Swift
XCODE11
removeAllObservers はすべてのオブザーバー (値が変更された時に呼ばれるコールバック関数) を削除するだけで、実際にデータを削除するには removeValue や updateChildValues を呼ぶ必要があるのでは。
https://firebase.google.com/docs/database/ios/save-data?hl=ja
ご回答ありがとうございます。
下記のように試してみました・・・
let deleteRef = ref.child("schedule").child(uid).queryOrdered(byChild: "00identifier")
deleteRef.setValue(nil, forKey: keyIdentifier)
エラーメッセージ
this class is not key value coding-compliant for the key "MmWz5~~~~~"
使い方が間違っているんだとは思うんですが、なにが間違っているのでしょうか…。
削除したいものの前に.childByAutoIDがあるため削除したい場所を特定することができずハマっています・・・。
setValue じゃなくて removeValue だと思うのですが…。
あなたの回答
tips
プレビュー
