我有一个起始id为1的表。我有一个函数,使用limitToLast(1)获取最后添加的id并添加1,以便我将添加到数据库的下一个数据将2作为key,如果最后添加的id是1.但是发生了什么:
它成功添加了2作为我添加的数据的关键,但它继续添加更多并重复我的数据。 这是我的代码:
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 = '';
});
}