我需要保持Firebase数据库同步,因此我进行了一些搜索,发现可以使用 keepsynced(true),因为默认情况下,Firebase会在缓存中保留10mb数据,如果有,进一步增长,它将被新数据取代 所以我就这样使用它 (在有故障的节点应用程序上使用Firebase)
var locationRef = admin
.database()
.ref()
.child("locations");
locationRef.keepSynced(true);
locationRef.once('value').then(function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var childKey = childSnapshot.key;
var childData = childSnapshot.val();
console.log(childData);
presseLocations.push(childData)
});
但我遇到此错误:
locationRef.keepSynced is not a function
有什么主意吗?
答案 0 :(得分:1)
要保持数据同步,应该使用on()而不是一次(one)(),因为一次使用一次()从数据库获取值,而一次使用on()则继续侦听数据更改,直到您调用off()。 )