python-3.x - Firestore - 如何在忽略已经存在的条目的情况下监听实时更改?
问题描述
当我尝试使用 firebase 文档中给出的以下代码时
doc_ref = db.collection(u'users')
def on_snapshot(doc_snapshot, changes, read_time):
for change in changes:
print(u'new doc:{}'.format(change.document.id))
doc_watch = doc_ref.on_snapshot(on_snapshot)
即使在我调用侦听器之前它们已经存在,它也会打印所有条目。我只想收听调用侦听器后发生的更改,并忽略在调用侦听器之前已经退出的任何条目。
示例:如果我的用户集合中有 3 个文档:user1、user2 和 user3。我运行我的程序并添加另一个文档 - user4。我的程序打印 user4 而不是 user1、user2 或 user3。
解决方案
SDK 不提供查询“所有不存在的内容”的方法。您应该提出自己的查询来满足您的需求。在您的情况下,也许您需要每个文档中的时间戳来指示文档的创建时间,并仅查询创建日期大于当前时间的文档。
推荐阅读
- javascript - 使用正则表达式匹配两个特定字符串之间的版本号
- typescript - 如何使用类型化参数构建查询?
- python-3.7 - 尝试使用 xlrd 查找行的最小值时如何排除零作为最小值
- kotlin - Kotlin 中 lambda 表达式中的默认参数
- javascript - 如何在循环中安全地调用基于 Promise 的 AngularJS 服务?
- oracle - 为 Oracle 迁移定义“WM_CONCAT(col)”为“LISTAGG(col, ',')”
- roblox - 查找第一个孩子在我的场景中如何工作?- (Roblox 工作室)
- bash - sed 命令的管道如何控制输入和输出空间中的流信息?
- javascript - 未捕获的类型错误:无法在“AudioContext”上执行“createMediaElementSource”:参数 1 不是“HTMLMediaElement”类型
- graphql - gatsby-source-prismic-graphql 查询结构