【发布时间】:2019-09-29 19:11:37
【问题描述】:
我试图了解 Firestore 如何在字段上创建索引。给定以下示例文档,如何创建索引,尤其是对于地图/数组?
我多次阅读Index types in Cloud Firestore 的文档,但我仍然不确定。上面写着:
自动索引 默认情况下,Cloud Firestore 会自动为文档中的每个字段和地图中的每个子字段维护单字段索引。 Cloud Firestore 对单字段索引使用以下默认设置:
对于每个非数组和非映射字段,Cloud Firestore 定义了两个集合范围的单字段索引,一个为升序,一个为降序。
对于每个地图字段,Cloud Firestore 为地图中的每个非数组和非地图子字段创建一个集合范围升序索引和一个降序索引。
对于文档中的每个数组字段,Cloud Firestore 都会创建并维护一个集合范围的数组包含索引。
默认情况下不维护具有集合组范围的单字段索引。
如果我理解正确,那么每个字段都会创建一个索引,即使是 alternate_names 数组中的值也是如此。
因此,如果我想搜索 fields.alternate_names 包含(例如)“草房”值的任何文档,那么 Firestore 将使用索引进行搜索
我的假设/理解正确吗?
【问题讨论】: