代码之家  ›  专栏  ›  技术社区  ›  AIon

在火疮上是什么意思?

  •  2
  • AIon  · 技术社区  · 6 年前

    Firestore入门:)

    每次文档更新或在集合中创建时,我都希望接收事件。 我只想收到一份文件。更新/创建/删除的..等等,我不想每次换钱都收洞。

    类似于 .on("child_added") 在实时数据库工作。

    例如:

    // logs the entire collection.
    db.collection("categories").onShapshot(snap => console.log(snap));
    

    再次提供类别的孔列表。而不是仅仅获取创建的文档。

    我想用它来实时更新/删除/创建dom中的文档。

    我不知道怎么做基于 firebase docs

    这个超级重要的基本特性是否有意不再支持?

    或者只是我没有看到明显的东西… 请注意,我没有任何具体的查询。

    我只想在创建特定类别后将其恢复。谢谢)

    1 回复  |  直到 6 年前
        1
  •  3
  •   Frank van Puffelen    6 年前

    当查询的数据发生更改时,将在 QuerySnapshot . 但在那张快照里是关于发生了什么变化的信息。如果只想对新添加的文档执行某些操作,请检查该文档是否使用此 sample from the documentation :

    db.collection("cities").where("state", "==", "CA")
        .onSnapshot(function(snapshot) {
            snapshot.docChanges().forEach(function(change) {
                if (change.type === "added") {
                    console.log("New city: ", change.doc.data());
                    // This is equivalent to child_added
                }
                if (change.type === "modified") {
                    console.log("Modified city: ", change.doc.data());
                    // This is equivalent to child_changed
                }
                if (change.type === "removed") {
                    console.log("Removed city: ", change.doc.data());
                    // This is equivalent to child_removed
                }
            });
        });
    

    请注意,此侦听器的未修改数据是从本地缓存读取的,因此不必从服务器重新读取。