我正在尝试了解 Google Firestore 在本机模式与数据存储模式下的索引行为,尤其是在删除或引入索引豁免时。
对于数据存储模式,文档很清楚: https://cloud.google.com/datastore/docs/concepts/indexes
将属性从索引更改为排除仅影响随后写入数据库的实体。具有该属性的任何现有实体的索引条目将继续存在,直到实体被更新或删除。为了避免出现不需要的结果,您必须清除代码中按(现已排除)属性进行过滤或排序的所有查询。
即要取消索引或重新索引属性,我的应用程序需要遍历所有文档并将它们重新写入数据库。
我在本机模式下找不到 Google Firestore 的相同文档
看来,在本机模式下,您只需要在控制台中添加/删除豁免即可重建索引包括任何现有记录
这是正确的吗?
看来,在本机模式下,您只需要在控制台中添加/删除豁免,然后重建索引,包括任何现有记录
当您在本机模式下向 Firestore 添加索引时,所有现有文档确实会自动添加到索引中。添加索引时,您可以在 Firestore 控制台中最轻松地看到这一点,因为构建索引所需的时间与该集合中现有文档的数量成线性关系。