这里开始使用firestore:)
我希望每次文档更新或在集合中创建时都会收到一个事件。 我想只收到1份文件..更新/创建/删除的那份......等等。我不想为每次更改收集孔。
与.on("child_added")
在实时数据库中的工作方式类似。
例如:
// logs the entire collection.
db.collection("categories").onShapshot(snap => console.log(snap));
再次给我一个类别的孔列表..而不是仅仅获取已创建的文档。
我想用它来实时更新/删除/创建dom中的文档。
我不知道如何根据Bruno Lowagie
执行此操作这是否非常重要且基本功能不再受支持了?
或者只是我没有看到明显的东西.. 请注意,我没有具体的查询内容。
我只想在创建后再获取特定类别。谢谢:))
答案 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 } }); });
请注意,此侦听器的未修改数据是从本地缓存中读取的,因此不必从服务器重新读取。