在cars
集合中,我有超过100辆汽车(文档)。我在文档中或stackoverflow上都找不到如何获取carname
名称具有特定值的所有运输名称。对此如何解决?
val Taxi = db
.collection("Transportations").document("TransportationId")
.collection("Cars").whereEqualTo("CarName", "Private Taxi")
简单的回答是,您无法在FireStore中实现这一点。您不能在数据库中查询所有的汽车,而不管是哪个运输工具包含这些汽车。
但是在这种情况下,有一种解决方法,您应该通过创建一个名为cars
的新顶级集合来稍微更改数据库结构,您应该在其中添加所有car
对象。对于每个car
对象,还应该添加所需的transportation
作为属性。这样,您就可以根据需要查询数据库。
您的数据库结构应该如下所示:
Firestore-root
|
--- cars (collection)
|
--- carId (document)
|
--- transportation: "Private Taxi"
|
--- //other car details
我想我读到您可以使用新的Firebase Firestore查询子集合,但我没有看到任何示例。例如,我以以下方式设置了Firestore: 舞蹈[收藏] DanceName 歌曲[收藏] 松南 我如何才能查询“查找所有的舞蹈在songName=='x'”
在Firestore中,我有一个用户集合,在每个用户文档中存储一个名为favorites的集合,该集合包含标记为favorites(存储)的文档的ID 我可以采取另一种方法来获取两个集合并手动过滤它们,但我使用的是Firebase RecycerView适配器,它显示的所有数据都基于查询,这将使事情更加高效。 这样的结果是如何实现的呢?如果需要进一步的解释,请告诉我
假设我有以下映射目标。 如何从其他属性的Iterable映射到其他属性? 我可以这样做吗?
我试图创建一个查询来获取一个firestore集合/文档,其中userId等于当前userId,或者当前userId等于contributorsid。 我想让它给我所有陈述属实的文档。但它只返回第一个。如果我选择只包含其中一个查询(“where”),它们都会工作并返回正确的文档。