2017-11-22 10 views
0

私はfirebaseから投稿を削除するのに助けが必要です。私は投稿IDのキーとすべてを持っているし、すべての方法を試して何も動作しません。私は "投稿"の3番目の子供を削除したい。私はすべてのタイプのコードを試しています。以下のコードはエラーをスローしません。何をすべきかわからない。 indexpath.rowタグを使用して値を取得しています。Swift Firebase Postを削除

let postID = self.posts[sender.tag].postID  
Database.database().reference().child("posts").child(uid!).child(postID).removeValue { error, _ in 
       if error != nil { 
        print("error \(error)") 
       } 
      } 

enter image description here

enter image description here

テスト

Database.database().reference().child("posts").child(uid!).queryOrdered(byChild: "postID").queryEqual(toValue: postID).observe(.value, with: { snapshot in 
       if snapshot.exists() { 
        snapshot.ref.removeValue() 

        print(snapshot) 

       } else { 
        print("snapshot doesn't exist") 
       } 
      }) 
+0

コードは、新しいポストは、私が直面して追加されているため、いくつかの参照に私は価値が取り除かなっていると思いますが、同時にあなたは子値を削除する際に一つのことがparllelyあなたのデータベースを開くか、投稿を削除することが最適ですこの問題は、あなたのrDB参照をすべて確認してください –

+0

あなたはあなたとポストIDをチェックしましたか? – Pipiks

+0

すべてがうまくリンクされています。私はすべての値を印刷していません。データベースは変わらず、赤色に変わったり、緑色に変化したりしません。データベースからの削除や新しい値の作成ということはわかっていません。 –

答えて

0

はの値を確認...私はこれを試みたが、これは、そのユーザの下にあるすべてのものを削除しますあなたはまた、正しいかどうあなたからノードを削除するアクセス権を持っていないことがあり、ローカルまたはない

Database.database().reference().child("posts").child(uid!).child(postID).removeValue() 
Database.database().reference().child("posts").child(uid!).child(postID).observe(.value, with: { snapshot in 
     print(snapshot.value) 
    }) 

起こっているのかどうかをチェックするためにそれらを一緒に置くことができる

Database.database().reference().child("posts").child(uid!).child(postID).observe(.value, with: { snapshot in 
    print(snapshot.value) 
}) 

して、削除する参照データベース、firebaseコンソールのデータベースルールチェックタブ

最後の手段として、低速接続がある場合、雲に同期するための接続が良好になるまでfirebaseが更新をキャッシュします。

+0

あなたのコードで私が得るプリントアウトは "Optional()"です。私はセキュリティのアクセス許可を投稿します.... –

+0

事は私がストレージから自分の写真を削除することができますが –

+0

なぜ値がデータベースにまだ残っているときnullを返すのか分からない –

0

これは機能します。

Database.database().reference().child("posts").child(uid!).queryOrdered(byChild: "postID").queryEqual(toValue: postID).observe(.childAdded, with: { snapshot in 
       if snapshot.exists() { 

        snapshot.ref.removeValue() 


        print(snapshot) 

       } else { 
        print("snapshot doesn't exist") 
       } 
      }) 
関連する問題