gpt4 book ai didi

javascript - 在 Firestore 中查询对象键

转载 作者:行者123 更新时间:2023-12-01 15:59:33 25 4
gpt4 key购买 nike

我的 Firestore 查询技术目前存在一些问题。根据我最近发布的这篇 stackoverflow 帖子,Querying with two array with firestore security rules
答案建议将“ids”添加到对象中,键为id,值简单地为“true”。我已经完成了这个,现在我的结构看起来像这样:
enter image description here
这给我留下了这个查询:

db.collection('Depots')
.where(`products.${productId}`, '==', true)
.where(`users.${userId}`, '==', true)
.where('created', '>', 1585998560500)
.orderBy('created', 'asc')
.get();
这个查询让我抛出一个错误,要求创建一个索引:

The query requires an index. You can create it here: ...


但是,这会尝试索引特定的对象键,即 QXooVYGBIFWKo6C所以 products.QXooVYGBIFWKo6C .这当然不是我想要的,因为这个查询会发生变化,并且可能有无数种可能性,这意味着我必须为每个键条目创建另一个索引才能查询它。
有没有办法解决这个问题?我假设由于查询中使用了不同的运算符,它需要索引这个查询,所以我想知道这个问题是否有任何解决方法。
非常感谢您提前。

最佳答案

你这里有一个 map 字段,通常应该为其创建索引automatically .

这确实意味着您将拥有与产品一样多的索引,这意味着:

  • 您可以拥有的产品数量有限,因为有 maximum of 40,000 index entries per document .
  • 您为每个文档支付更多费用,因为您为每个索引的存储付费。

  • 如果这些不是您想要的,您将不得不切换回您的原始模型,并使用您在那里的查询限制。似乎没有适合您的两个要求的解决方案。

    关于javascript - 在 Firestore 中查询对象键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60915724/

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