dart Firestore firebase -需要合并两个查询

efzxgjgh  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(85)

bounty将在28分钟后过期。回答此问题可获得+50声望奖励。Matias正在寻找一个规范答案:我需要了解firestore中的过滤。这是一个常见的用例,您有一个列表,在对其中一个项目执行操作后,需要从列表中排除该项目。

我有一个问题,而试图得到我的请求文件。我有一个请求集合。在我的UI中,我需要显示所有不是由我的用户创建的请求,并且我没有向这些请求发送任何产品。我已经能够得到所有的请求,还没有被我的用户创建,但一旦我已经发送了一个要约,该请求我需要过滤它从我的第一批结果。

inal queryResult = await requestsRef
    .where('userId', isNotEqualTo: firebaseAuth.currentUser!.uid)
    .where(‘city.name’, whereIn: user.cities)
    .where(
      Filter.and(
        Filter('profesion.name’, whereIn: user.profesions),
        Filter(‘type’, isEqualTo: requestTypeEnum.approved.name),
      ),
    )
    // .where(“offeredBy”, whereNotIn: [firebaseAuth.currentUser!.uid])
    .limit(5)
    .get();

字符串
“offeredBy”是userId的数组。他们已经对这个请求发出了邀请。
注解代码是我现在试图实现的,但firestore抛出了一个错误

!hasIn': You cannot use 'whereIn' filters more than once


这是正确的,因为在文档中确实如此。我不明白如何将我的第一个查询与包含注解逻辑的第二个查询组合起来以获得我想要的结果。如果有另一种方法,请让我知道,也许我是在一个坏的方式解决这个问题。

6pp0gazn

6pp0gazn1#

我真的不知道你面临的挑战是什么。既然您提到要尝试将两个查询组合在一起,我想这篇文章会有所帮助。
combining two queries with RxFire你也可以看看这个链接!可能会有帮助。Combining multiple Firestore queries to get specific results (with pagination)

相关问题