javascript - 使用 keepSynced(true) 清除 firebase 缓存不起作用

标签 javascript firebase firebase-realtime-database

我需要保持我的 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

有什么想法吗?

最佳答案

为了保持数据同步,你应该使用on()而不是once(),因为使用once()从数据库获取一次值,而使用on()继续监听数据的更改,直到你调用off( )

关于javascript - 使用 keepSynced(true) 清除 firebase 缓存不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55041761/

相关文章:

swift - Childadded 检索一个 key

javascript - 如何在elasticsearch中插入对象数组

javascript - 同时将鼠标悬停在多个 Div 上,使其看起来像 1 个 div

firebase - 错误: Functions did not deploy properly

java - Firebase 身份验证 - 显示用户信息

android - 任务 ':app:checkReleaseDuplicateClasses' 执行失败。 flutter

javascript - Firebase:创建命名子引用

ios - 使用 Firebase 时使用未解析的标识符 FIRDatabase

javascript - 使用 useState 时,React 不会在状态更改时重新渲染

javascript - Canvas 未合并并导致仅显示背景图像