查询无效。您不能使用多个“in”过滤器

Jol*_*dar 8 javascript firebase google-cloud-firestore

this.ref.collection("users", ref => ref.where("uid1","in", [reciverId, senderId])
        .where("uid2","in", [reciverId, senderId]))
Run Code Online (Sandbox Code Playgroud)

给我这样的错误

“无效查询。您不能使用多个‘in’过滤器”

Ren*_*nec 12

这确实是 Firestore 的一个限制,如文档中所述:

限制

请注意 in 和 array-contains-any 的以下限制:

  • in 和 array-contains-any 最多支持 10 个比较值。
  • 每个查询只能使用一个 in 或 array-contains-any 子句。您不能在同一查询中同时使用 in 和 array-contains-any。
  • 您可以将 array-contains 与 in 结合使用,但不能与 array-contains-any 结合使用。

  • 您实际上是在尝试在这里执行 OR 查询,但目前这是不可能的。您必须执行两个单独的查询,然后将结果合并到应用程序代码中。 (4认同)