我在Firestore中有一个数组,位于不同的文档中,如下所示:
颜色: [蓝色,红色,绿色]
我想查询以查找与我的输入相匹配的文档,颜色:[红色,绿色,蓝色]。但是它不应返回包含更多内容的文档,即[蓝色,红色,绿色,黄色]。它必须精确匹配,但我不一定知道数组中各项的顺序。这有可能吗?
答案 0 :(得分:0)
首先,向每个包含数组长度的文档添加一个字段,以便您可以基于数组长度进行过滤。然后为长度正确的数组创建复合查询,每种颜色都带有一个“ array-contains”子句。
请注意,您要搜索的特定数组不得包含任何重复的元素,否则此方法将无法正常工作。
答案 1 :(得分:0)
使用现有数据进行单个查询就无法实现您的要求。您要么必须: