削除ポイントを見つけるためにエントリを参照することで、ネストされた子全体をFirebaseデータベースから削除するにはどうすればよいですか?データベース内のネストされた配列全体を削除する(
たとえば、(リスト)の下に2つのエントリがネストされています。 ()-KcxacywN4EkvwAzugfV
および()-KcxaeBAIW-WgLAsajvV
である。私はデータベース()-KcxaeBAIW-WgLAsajvV
をID-KcxaeBAIW-WgLAsajvU-4-725391765511696
(下記参照)を使用して削除したいと思います。
私は、削除ボタンを表示するには、各データベースエントリのためのボタンを設定しています。各ボタンには、各データベースエントリのdata-
またはIDが含まれています。
rootRef.on("child_added", snap => {
var title = snap.child("title").val();
var link = snap.child("link").val();
var type = snap.child("type").val();
var id = snap.child("id").val();
$("#table_data").append("<div class='col-lg-4'><div class='card card-app'><div class='card-block'><h4 class='card-title'>"+ title +"</h4><small>"+ type +"</small><hr><a href='"+ link +"' target='_blank'>Download</a> <a class='user float-right' onclick='removeClick()' data-name='"+ id +"'>Remove</a> </div></div></div>");
});
ボタンのonClickイベントと関連付けられたIDは、この関数をトリガします。私の考えは、IDをdata-から入れ子にして、(2)-KcxaeBAIW-WgLAsajvV
をデータベースから削除することです。他のすべてのネストされたエントリについても同じプロセスです。
function removeClick() {
$(".user").click(function() {
rvm = $(this).attr("data-name");
});
alert(rvm);
firebaseRef.remove(rvm);
}
私はhttps://firebase.google.com/docs/database/web/read-and-writeを研究してきたし、ネストされたエントリーの実際の削除を見つけ出すように見えることはできません。これを行うには、remove()または別の方法をどうすれば使用できますか?
私はこのことをより深く理解するために努力してきました。
firebaseRef.child(rvm).remove();
どのようにデータを表示しているのですか。私は試した。
rootRef.child().remove();
これは、単にデータベース全体を削除します...
最終ランニングコード:
function removeClick() {
$(".user").click(function() {
rvm = $(this).attr("data-name");
});
alert(rvm);
var query = rootRef.orderByChild("id").equalTo(rvm);
query.once("value", function(snapshot) {
snapshot.forEach(function(itemSnapshot) {
itemSnapshot.ref.remove();
});
});
}
これは機能しました!ありがとうございました。私は今参照してください、あなたは何とか参照を一致させる必要があります。私は質問、作業コードに投稿しました。 – rniller