2017-09-22 1 views
1

から最初の子のデータを取得する私のデータベースには、次のようになります。Firebase WebはautoChildID

Database image

私はbeaconIDmajorminorをデータの読み取りとunassignedBeaconIDsからそれを削除し、unassignedBeaconIDsの最初の子を取得しようとしています。

var refBeaconID = firebase.database().ref(pathToBeaconIDs).limitToFirst(1); 
refBeaconID.once('value', function(snap) 
{ 
    var firstItem = snap.val(); // first item, in format {"<KEY>": "<VALUE>"} 
    console.log("The first item"); 
    console.log(firstItem.beaconID); 
    refBeaconID.child(firstItem.key).removeValue; 
}); 

問題がchildAutoID値である:

は、ここに私のコードです。私は結果として常に未定義になる。

答えて

0

Firebaseデータベースに対してクエリを実行すると、複数の結果が表示される可能性があります。したがって、スナップショットにはそれらの結果のリストが含まれています。結果が1つだけの場合でも、スナップショットには1つの結果のリストが含まれます。私は翻訳何refBeaconID.child(firstItem.key).removeValue;完全に一定ではないんだけど、あなたがそれをログインした後、子供を削除したい場合は

var refBeaconID = firebase.database().ref(pathToBeaconIDs).limitToFirst(1); 
refBeaconID.once('value', function(snap) 
{ 
    snap.forEach(function(child) { 
     var firstItem = child.val(); 
     console.log("The first item"); 
     console.log(firstItem.beaconID);  
    }); 
}); 

はつまり、あなたのコールバックでは、スナップショットの子供をループする必要があります:child.ref.remove();

関連する問題