gpt4 book ai didi

java - 如何使用 startAt() 和 endAt 方法通过多个搜索键搜索 firestore 集合

转载 作者:行者123 更新时间:2023-12-01 18:36:51 25 4
gpt4 key购买 nike

假设我们在 people 集合中有一个“people”集合,我们有 person 对象

public class Person{
public String personId;
public String firstName;
public String lastName;
}

我想通过同时使用firstName和lastName以及startAt和endAt方法来搜索人员,如下所示

Query query = FirebaseFirestore.getInstance()
.collection("people").orderBy("firstName",
Query.Direction.ASCENDING).
orderBy("lastName", Query.Direction.ASCENDING).startAt(key).endAt(key + "\uf8ff");

FirestoreRecyclerOptions<Person> options = new FirestoreRecyclerOptions.Builder<Person>()
.setQuery(query, Person.class)
.build();

但我只能使用名字或姓氏,如何同时使用两者?

最佳答案

我不确定 startAt 和 endAt 是否适合您。这些用于分页,看起来这并不是您想要在这里做的事情。如果您只想通过一些常见的第一次和最后一次过滤所有人员,只需使用 where 子句执行普通查询来过滤这些名称并根据需要对它们进行排序:

Query query = FirebaseFirestore.getInstance()
.collection("people")
.whereEqualTo("lastName", yourLastName)
.whereEqualTo("firstName", yourFirstName)
.orderBy("lastName")
.orderBy("firstName")

关于java - 如何使用 startAt() 和 endAt 方法通过多个搜索键搜索 firestore 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60018018/

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