为什么Firestore会忽略此复合查询的'array_contains'部分?

时间:2019-06-03 15:21:01

标签: firebase google-cloud-firestore

以下查询正在返回(“ flag”,“ ==”,“ someFlag”)的结果,就像查询的array_contains部分不存在一样:

myRef
  .collection('someCollection')
  .where("flag","==","someFlag")
  .where("folders","array_contains","test string")
  .get()

我的期望是,此查询将在控制台中产生一个错误,并带有一个链接,该链接将为查询中的两个字段创建一个复合索引。我可以自己创建索引,但是不想尝试不完全了解正在发生的事情。

编辑: 此乱码查询具有相同的效果(返回“ flag == someFlag”的结果)。它不应该引发错误吗?

myRef
  .collection('someCollection')
  .where("flag","==","someFlag")
  .where("asdf","asdf","asdf")
  .get()

1 个答案:

答案 0 :(得分:1)

我假设您正在使用Web SDK。请注意,语法为

.where("folders","array-contains","test string")

而不是

.where("folders","array_contains","test string")