firesore上on。(child_added)的等价物是什么?

时间:2018-06-12 10:53:38

标签: javascript firebase google-cloud-firestore

这里开始使用firestore:)

我希望每次文档更新或在集合中创建时都会收到一个事件。 我想只收到1份文件..更新/创建/删除的那份......等等。我不想为每次更改收集孔。

.on("child_added")在实时数据库中的工作方式类似。

例如:

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

再次给我一个类别的孔列表..而不是仅仅获取已创建的文档。

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

我不知道如何根据Bruno Lowagie

执行此操作

这是否非常重要且基本功能不再受支持了?

或者只是我没有看到明显的东西.. 请注意,我没有具体的查询内容。

我只想在创建后再获取特定类别。谢谢:))

1 个答案:

答案 0 :(得分:2)

当您的查询数据发生变化时,您会在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
            }
        });
    });

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