Firebase 为什么Firestore忽略了';数组包含';这个复合查询的一部分?
以下查询将返回(“flag”、“==”、“someFlag”)的结果,就好像数组_包含部分查询不存在一样:Firebase 为什么Firestore忽略了';数组包含';这个复合查询的一部分?,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,以下查询将返回(“flag”、“==”、“someFlag”)的结果,就好像数组_包含部分查询不存在一样: myRef .collection('someCollection') .where("flag","==","someFlag") .where("folders","array_contains","test string") .get() 我的预期是,此查询将在控制台中产生一个错误,并带有一个链接,用于为查询中的两个字段创建复合索引。我可以自己创建索引,但不想在不完
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()
我假设您正在使用Web SDK。注意,语法是
.where("folders","array-contains","test string")
而不是
.where("folders","array_contains","test string")
问题是什么?为什么查询没有失败并符合所述的期望?我会编辑标题。@timraybould很高兴我能帮忙!你也可以投票支持我的答案,见。谢谢