2017-08-25 8 views
1

私は、AndroidアプリでFirebaseリアルタイムデータベースを使用して、このようなデータを持っています:firebaseリアルタイムデータベースから値を比較して削除するには?

This is my database

私はJavaScriptからのデータのアクセスするにはどうすればよいです。 私はちょうどすべてのendTimeの値を取得し、現在の時刻と比較する関数をコードしたいとしますendTime < =現在の時間次に黄色の値を削除する。

Yellow Marked Values

イベントは、固定値です。

Indjija、Vojvodina、および-KsB2mVkpgQe_fRyFFH4は自動生成されるため、この2つのような値を追加することは可能です。

私はJavaコードでアンドロイドスタジオでそれを解決する方法を知っていますが、私はサーバー機能の実装について興味深いです。

+0

endTimeにどのようにアクセスできますか? var firebaseRefEndTime = firebase.database.ref( 'Events')。子()。子().val( "endTime");それは私のアンドロイドアプリによって自動生成されているので、私はその子括弧に何も入れていない。私はすべてのendTimeフィールドから値を必要とする。 –

答えて

2

この質問に対する回答は、Firebase Database Referenceの深いところに埋め込まれています。 forEach()は、子供の正確な経路を知らなくても子供を得るために使用されます。

var leadsRef = database.ref('leads'); 
leadsRef.on('value', function(snapshot) { 
    snapshot.forEach(function(childSnapshot) { 
     var childData = childSnapshot.val(); 
    }); 
}); 

childSnapshotが必要なデータが含まれていますが、同じことがまたchild_addedを使用してアクセスすることができます。

leadsRef.on('child_added', function(snapshot) { 
     //Do something with the data 
}); 

唯一の違いは、forEach()の場合、それは新しいデータが追加されるので、もし開始からをループし、それはまた、以前のデータをロードしますが、child_addedの場合には、リスナーが唯一であるということです以前の既存の子どもではなく、新規の子どもに対して。

便利なリンク:

Firebase Read and Write Web

はそれがお役に立てば幸いです。

+0

value endTimeにはどのようにアクセスできますか? var firebaseRefEndTime = firebase.database.ref( 'Events')。子()。子().val( "endTime"); 私のアンドロイドアプリで自動生成されているので、私はその子括弧に何も入れていません。すべてのendTimeフィールドから値が必要です。 –

関連する問題