将 +1 添加到 Firebase 数据库,一直运行,直到它达到最大容量 - 如何让它在运行时只添加一个?



我想创建一个函数,该函数仅在现有数据库值上添加+1 - 它是数字,因此被切断+ 1

这是我在函数中试用它,然后只是从控制台运行它。

function AddaMember() {
playersRef.on("value", function(data, prevChildKey) {
var newPlayer = data.val();
var members = firebase.database().ref("locations/hello");
var age = newPlayer.resevered;
const newmember = age + 1;
console.log(age);
members.update({
"resevered" : newmember,
})
});
}

我只是希望它添加一个然后停止,而是运行直到文档已满,这有什么解决方法?我应该使用循环吗?

谢谢,马克斯

您的代码正在使用on()来设置持久侦听器的位置playersRef。 每当该位置或位置下发生任何更改时,该侦听器都会收到回调。 由于您的侦听器也在该位置写回给孩子,因此它最终会再次触发回调。

如果您不想要持久侦听器,而只想查询一次,请使用once()而不是on()

playersRef.once("value").then(snapshot => {
// work with the data here
})

最新更新