2017-09-14 7 views
0

私は1の開始IDを持つテーブルを持っています。私はlimitToLast(1)を使って最後に追加されたIDを取得し、1を加えて次のデータを追加します今までに最後に追加されたIDがあれば何が起こったことはこれです1.Butデータベースはキーとして2を持っています:それが正常に私が追加されたデータへのキーとして2を追加データはデータベースに追加された後も複製され続けます

THis is whatt happened in my database

が、それは追加し続けて私のデータを複製して複製します。

function uploadProperty() { 

    user = firebase.auth().currentUser; 
    var selectedFile; 

var propertiesref = db.ref('property/'); 
    propertiesref.orderByChild("property").limitToLast(1).on("child_added", 
    function(snapshot) { 

    var getkey = Number(snapshot.key); 
    var id = getkey + 1; 
    firebase.database().ref("property/" + id).set({ 

    property_id: id, 
    user_id: user.uid, 
    property_desc: $("#desc").val() , 
    property_address: $("#address0").val() ,  
    property_slot: $("#slot").val(), 
    property_price: $("#price").val(), 
    rent_type: $("#renttype").val(), 
    type: $("#type").val(), 
    lat: $("#lat").val(), 
    lon: $("#lon").val(), 
    date_created: $("#datecreated").val(), 
    image_path: $("#image").val() 

    }); 

    desc.value = ''; 
    address0.value = ''; 
    slot.value = ''; 
    price.value = ''; 
    type.value = ''; 
    renttype.value = ''; 
    lat.value = ''; 
    lon.value = ''; 


    }); 
    } 
+0

編集していただきありがとうございます:D –

答えて

0

あなたが代わりにon()once()を使用する必要があります。 これは私のコードです。

firebase.database().ref("property/" + id).set(...); 

リスナー火災が再び:on()は付属なので、あなたが新しい子を保存する際にリスナーを残します。

関連する問題