gpt4 book ai didi

java - 基于数组 contains 和 orderby 查询 firestore

转载 作者:行者123 更新时间:2023-12-01 16:31:33 26 4
gpt4 key购买 nike

我正在 firestore 中存储一些数据,如下所示:

enter image description here

我有一个名为 Items 的集合,其中有许多文档,每个文档都有自己的 ID,每个文档内有多个字段。

其中一个字段是 UserID,它显示哪个用户拥有该项目。

现在,我想以一种方式查询 firestore,该方式将返回所有流行度大于 3.5 的项目,并且当我自己的 ID 不是显示在列表中的 ID 之一时用户ID数组。

有什么选择可以这样做吗?

目前我使用以下内容:

db.collection( "Items" ).orderBy( "Popularity", Query.Direction.DESCENDING ).whereGreaterThan( "Popularity", "3.5" ).limit( 50).get()

但它也会返回我的 ID 出现在数组中的结果。

最佳答案

Firestore 不提供任何检查文档中是否存在数据的查询。 Firestore 索引仅基于数据的存在而工作 - 您无法有效地为不存在的内容建立索引。因此,您的要求中“当我自己的 ID 不是 UserID 数组中显示的 ID 之一时”的部分是不可能的。您可以在客户端应用程序中编写代码来过滤掉当前用户 UID 缺失的文档。

关于java - 基于数组 contains 和 orderby 查询 firestore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62031218/

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