【问题标题】:Query on wildcard Document ID查询通配符文档 ID
【发布时间】:2018-10-30 02:53:28
【问题描述】:

是否可以根据日期过滤文档 ID?例如,文档每天插入,我们要删除以前的日期数据。我们计划在文档 id 上附加日期,并通过使用通配符 - 20181101_* 过滤文档 ID 执行删除,以删除其 id 以某个匹配日期开头的所有文档。

另一种方法是在每个文档中插入一个日期字段来运行 WHERE 子句。

q = doc_ref.where(u'date', u'==', 20181101).get()

我知道了,但只是想知道是否有更好的方法。

【问题讨论】:

    标签: python firebase google-cloud-firestore


    【解决方案1】:

    使用通配符过滤文档 ID 执行删除 - 20181101_*

    Cloud Firestore 中无法创建基于通配符的查询。

    删除所有id以某个匹配日期开头的文档。

    您也无法查询 Firestore 数据库中以某个匹配日期开头的元素。要解决这个问题,您应该按照official documentation 的说明进行操作,上面写着:

    Cloud Firestore 不支持原生索引或搜索文档中的文本字段。此外,下载整个集合以在客户端搜索字段是不切实际的。

    要启用对 Cloud Firestore 数据的全文搜索,请使用第三方搜索服务,例如 Algolia

    是的,你猜对了,最好的解决方案是添加一个新的日期属性并根据它查询数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-06
      • 2019-12-28
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多