【发布时间】:2022-01-21 12:49:49
【问题描述】:
假设我正在构建一个让用户管理旅行的应用程序。创建行程时,可以在其中添加任意数量的用户。我希望这些数据存储在一个地方,然后每个用户都能够检索该人所包含的行程。我的数据如下所示:
-trips
-<trip-id>
-title
-budget
-etc
-people
-<person-id>
-name
-uid
-<person-id>
-name
-uid
-<trip-id>
-
-
-
此行程将包含所有用户创建的所有行程。为了向任何人展示他们的旅行,我只想检索该人所在的列表。
这是我尝试做的,包括其他类似的方法。
rootReference.child("trips").orderByChild("uid").equalTo(FirebaseAuth.instance.currentUser.uid).addValueEventListener(object:ValueEventListener){
override fun onDataChange(snapshot: DataSnapshot) {
//this should only return the trips that current user exists in.
}
}
我已经检查了有关在 firebase 上搜索和过滤的文档,但没有任何内容显示基于过滤的嵌套键。一个特别的例子是this。我完全理解。例如,如果我尝试根据标题、预算等主要属性过滤我的旅行,它会起作用,但当我使用嵌套子项的属性时就不行。
我可以使用哪些其他方法来根据嵌套键进行过滤,或者我应该以不同的方式构建数据?非常感谢任何帮助。
【问题讨论】:
标签: android kotlin firebase-realtime-database