在不同字段上使用过滤器的字段上的Firestore查询顺序

LongLv:

我在Google Cloud Firestore中的查询条件有问题。

任何人都可以帮助我。

这是我的收藏和文件

下面是我的代码,以获得第一个以HA_开头的文档并按ID DESC排序

public Article getLastArticleProvider() {
    ApiFuture<QuerySnapshot> query = firebaseDB.getTblArticles()
            .whereGreaterThanOrEqualTo("articleId", "HA_")
            .orderBy("id", Query.Direction.DESCENDING)
            .limit(1)
            .get();

    QuerySnapshot snapshotApiFuture;
    Article article = null;

    try {
        snapshotApiFuture = query.get();
        List<QueryDocumentSnapshot> documents = snapshotApiFuture.getDocuments();
        for (QueryDocumentSnapshot document : documents) {
            article = document.toObject(Article.class);
        }
    } catch (InterruptedException | ExecutionException e) {
        return null;
    }
    return article;
}

我想获取文章ID为“ HA_”或“ XE_”开头的文章的最后ID

例如上图:

  • if(articleId以“ HA_”开头)=>返回ID为831的对象
  • if(articleId以“ XE_”开头)=>返回ID为833的对象

现在我得到一个错误

java.util.concurrent.ExecutionException:com.google.api.gax.rpc.InvalidArgumentException:io.grpc.StatusRuntimeException:INVALID_ARGUMENT:不等式过滤器属性和第一排序顺序必须相同:articleId和id

亚历克斯·莫莫:

如以下错误所述:

不等式过滤器属性和第一排序顺序必须相同:articleId和id

因此,在您的案例articleId和中,您无法使用不同的属性来过滤元素并同时对其进行排序id

官方文档中还有一个示例,说明如何这样做

  • 范围过滤器和一阶按不同字段

    citiesRef.whereGreaterThan("population", 100000).orderBy("country"); //Invalid
    

因此,要解决此问题,您应该对同一文档属性进行过滤和排序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在弹性搜索中使用过滤器查询嵌套字段上的聚合

Django:可以在带注释的字段上使用过滤器吗?

在向量上使用过滤器

无法使用过滤器过滤多个字段

OData - 在同一字段上使用多个条件缩短过滤器查询

Primefaces DataTable在单个列中的多个字段上应用过滤器

Vue JS在输入字段中的v模型上应用过滤器

如何直接在REST API上对托管元数据字段启用过滤器?

如何在 django ManyToManyField 上应用过滤器,以便字段的多个值遵循条件?

使用过滤器和选项在PHP MongoDB中查询文档的数组字段

无法使用过滤器获取ManytoMany字段的列表

在迭代器上使用过滤器时,为什么会得到不同的参数类型?

在分区上使用过滤器值查询同一表

在角度树组件上使用过滤器

在 couchDB 上使用过滤器不起作用

在Django 2.0上使用过滤器

解决“不同字段上的范围过滤器”限制的解决方法?

基于最后一个索引的列表嵌入字段上的Mongoengine过滤器查询

修改表单上的查询字符串以添加基于其他字段的过滤器

弹性 - QueryingParsingException - 查询不支持 - 使用过滤器按关联字段进行搜索时

在OneToOne字段上添加_id并失败的Django过滤器

Django Rest Framework(ManyToMany字段上的GET过滤器)

2个字段上的交叉过滤器尺寸

DAC 字段上的 PXSelector 导致列过滤器问题

数据透视表字段过滤器上的 VBA 单选

环回:对象子字段上的过滤器附近

过滤器上的angularJS清空输入字段

使用父表字段的SQL子查询过滤器

使用MongoDB C#驱动程序在嵌套数组上使用过滤器构建器查询