我们的数据库结构如下:
foo
bar
尝试将文档写入包含34571个字段的bar
集合中,我得到了(从Go API中获得):
rpc错误:代码= InvalidArgument desc =实体的内置索引条目过多
好吧,it seems我需要添加一个豁免:
大数组或映射字段
每个文档的大数组或映射字段可以达到20,000个索引条目的限制。如果您不是基于大型数组或地图字段进行查询,则应将其从索引中排除。
但是如何?控制台仅允许我设置单个集合名称和单个字段路径,并且不接受斜杠:
我尝试了其他组合,但是/
或Collection ID
均不接受Field path
,并且在没有明确禁止的情况下使用.
会导致尝试保存豁免时的通用错误。我也不确定是否允许使用*
。
答案 0 :(得分:0)
索引豁免基于集合ID,而不是集合路径。在这种情况下,您可以输入bar
作为集合ID。这也意味着该豁免适用于ID为bar
的所有集合,无论层次结构如何。
对于字段,每个豁免只能指定一个字段路径。不支持“ *”全选器。有limit of 200 index exemptions,因此您将无法豁免所有34571字段。如果可能,我建议将您的字段移动到地图中。然后,您可以在地图字段上禁用索引编制。