是否可以根据日期过滤文档ID?例如,每天都会插入文档,而我们要删除以前的日期数据。我们计划在文档ID后面附加日期,并使用通配符-20181101_ *对文档ID进行过滤过滤以删除其ID以某个匹配日期开头的所有文档。
另一种方法是在每个文档中插入日期字段以运行WHERE子句。
q = doc_ref.where(u'date', u'==', 20181101).get()
我明白了,但是只是想知道是否有更好的方法。
答案 0 :(得分:0)
使用通配符过滤文档ID来执行删除-20181101 _ *
Cloud Firestore中无法基于通配符创建查询。
删除所有ID以某个匹配日期开头的文档。
您也无法在Firestore数据库中查询以某个匹配日期开头的元素。要解决此问题,您应该遵循official documentation中的说明:
Cloud Firestore不支持本机索引编制或在文档中搜索文本字段。此外,下载整个集合以在客户端搜索字段是不切实际的。
要启用Cloud Firestore数据的全文本搜索,请使用诸如Algolia之类的第三方搜索服务。
是的,您猜对了,最好的解决方案是添加一个新的date属性并根据该属性查询数据库。