0

firebaseデータベースからノードを削除するfirebaseクラウド機能を作ろうとしています。ログメッセージは、関数が "ok"を実行したが、データベースから要素を削除しないように見えることを示しています。私は、ログが、Snapshot.ref =に表示さん「要素path_valueの削除」を、上記のコードでは、firebaseデータベースからファイルノードを削除する

const functions = require('firebase-functions'); 
const admin = require('firebase-admin'); 
admin.initializeApp(functions.config().firebase); 

//path is defined as the value to be deleted, 
console.log("Deleting element " + path); 
var ref = admin.database().ref("/") 
ref.orderByValue().equalTo(path).on('child_added', function(snapshot) { 
    console.log("Snapshot.ref = " + snapshot.ref); 
    snapshot.ref.remove(); 
    return; 
}); 

また、ここでのコードの抜粋であるHow to delete data in Firebase? に受け入れ答えからの助けを取る機能を書きました...表示されません。

私はここに画像を埋め込むのに十分なクレジットを持っていませんが、私は選択が間違っていると思う私のデータベース Structure of Firebase Database

+0

私は選択が間違っていると思います。 – arodjabel

+0

どのように機能をトリガーしていますか? Firebaseのクラウド機能は、イベントによって起動されると実行されます。これを引き起こすために使用しているイベントは何ですか? HTTPトリガー?データベース書き込みイベント? –

答えて

3

へのリンクです。 ref.orderByValue()。equalTo(path)が実際に何かと等しいことを再確認してください。

ref.once('value') 
    .then(function(dataSnapshot) { 
    // handle read data. 
    }); 

https://firebase.google.com/docs/reference/admin/node/admin.database.Reference

var adaRef = admin.database().ref('users/ada'); 
adaRef.remove() 
    .then(function() { 
    console.log("Remove succeeded.") 
    }) 
    .catch(function(error) { 
    console.log("Remove failed: " + error.message) 
    }); 
+0

これは期待どおりではありませんが、動作します。私のデータベースのすべての内容を削除しました。ログには「Snapshot.ref = https://application.firebaseio.com/」と表示されます。正しい参照場所に移動するのを手伝ってもらえますか? –

+0

Firebaseでは、ノードに移動してURLをコピーできます。これは、あなたが望む正確な場所を見つけるのに役立ちます。あなたの例では、var ref = admin.database()。ref( "/")、 "/"は削除したいノードへのパスでなければなりません。 – arodjabel

+0

ありがとうございます。それは私の方法を見つけるのを助けるはずです。私はあなたの答えを受け入れた –

関連する問題