gpt4 book ai didi

firebase - Flutter Firestore : An error occurred while parsing query arguments on using whereNotIn and arrayContains at the same query

转载 作者:行者123 更新时间:2023-12-04 11:35:32 31 4
gpt4 key购买 nike

我的查询是:

snapshot = await FirebaseFirestore.instance
.collection('dialogs')
.where('active', isEqualTo: true)
.where('users', arrayContains: globals.user.userId)
.where('readers', whereNotIn: [globals.user.userId])
.orderBy('priority')
.limit(1)
.get();
我收到上述异常:

Unhandled Exception: [cloud_firestore/unknown] An error occurred while parsing query arguments, see native logs for more information.


我在官方 Firestore documentation上找到了一些注释:
  • 您最多可以使用一个,not-in , 或 array-contains-any每个查询的子句。您不能在同一个查询中组合这些运算符。
  • 您不能将 not-in 与 not equals != 结合使用。

  • 就我而言,一切都应该没问题。
    我也尝试了几件事:
  • 如果我只删除 whereNotIn行,一切都很好。
  • 如果我只删除 arrayContains行,一切都很好。

  • 为什么我会收到查询解析异常?
    谢谢

    最佳答案

    TL; 博士
    Firestore 查询 documentation不是最新的(与 04.04.21 相关)。
    更多细节
    我在 android studio 上检查了我的 android Logchats 并发现:

    Invalid Query. You cannot use 'not_in' filters with 'array_contains' filters.


    而火力基地 documentation说:

    You can use at most one in, not-in, or array-contains-any clause per query. You can't combine these operators in the same query.


    Firebase 文档中没有提到 array-contains不能与 not-in 在同一个查询中.
    结论
    如果遇到查询解析异常。获取有关问题的相关信息的最新和最快的方法是检查您的 Logchats。

    关于firebase - Flutter Firestore : An error occurred while parsing query arguments on using whereNotIn and arrayContains at the same query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66891023/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com