gpt4 book ai didi

google-cloud-firestore - 如何在 Firestore 子文档上创建索引豁免?

转载 作者:行者123 更新时间:2023-12-03 21:20:14 25 4
gpt4 key购买 nike

我们有一个数据库结构如下:

  • 收藏 foo
  • 文件
  • 收藏 bar
  • 包含多个字段的文档(接近 1 MB 的限制)

  • 试图写文档到 bar包含 34571 个字段的集合,我得到(来自 Go API):

    rpc error: code = InvalidArgument desc = too many builtin index entries for entity



    好的,好的, it seems我需要添加一个豁免:

    Large array or map fields

    Large array or map fields can approach the limit of 20,000 index entries per document. If you are not querying based on a large array or map field, you should exempt it from indexing.



    但是如何? 控制台只允许我设置单个集合名称和单个字段路径,并且不接受斜杠:

    "Add exemption" dialog

    我尝试了其他组合,但 /不接受 Collection IDField path ,并使用 . ,虽然没有明确禁止,但在尝试保存豁免时会导致一般错误。我也不确定 *被允许。

    最佳答案

    索引豁免基于集合 ID 而不是集合路径。在这种情况下,您可以输入 bar作为集合 ID。这也意味着豁免适用于 ID 为 bar 的所有集合。 ,不分层次。

    对于字段,您只能为每个豁免指定一个字段路径。不支持“*”全选择器。有一个limit of 200 index exemptions因此您将无法免除所有 34571 字段。如果可能,我建议将您的字段移动到 map 中。然后您可以禁用 map 字段上的索引。

    关于google-cloud-firestore - 如何在 Firestore 子文档上创建索引豁免?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54909646/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com