查询通配符文档ID

时间:2018-10-30 02:53:28

标签: python firebase google-cloud-firestore

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

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

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

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

1 个答案:

答案 0 :(得分:0)

  

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

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

  

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

您也无法在Firestore数据库中查询以某个匹配日期开头的元素。要解决此问题,您应该遵循official documentation中的说明:

  

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

     

要启用Cloud Firestore数据的全文本搜索,请使用诸如Algolia之类的第三方搜索服务。

是的,您猜对了,最好的解决方案是添加一个新的date属性并根据该属性查询数据库。