【问题标题】:Why is Firestore ignoring the 'array_contains' part of this compound query?为什么 Firestore 忽略此复合查询的“array_contains”部分?
【发布时间】:2019-06-03 15:21:01
【问题描述】:

以下查询正在返回 ("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()

【问题讨论】:

  • 有什么问题?
  • 为什么查询没有失败并符合预期?我将编辑标题。

标签: firebase google-cloud-firestore


【解决方案1】:

我假设您使用的是 Web SDK。注意语法是

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

而不是

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

【讨论】:

猜你喜欢
  • 2022-12-09
  • 2011-12-15
  • 1970-01-01
  • 2020-02-13
  • 2021-12-21
  • 1970-01-01
  • 2021-04-29
  • 2021-08-17
  • 1970-01-01
相关资源
最近更新 更多