Firebase 云Firestore多个文档和未知的收集路径

Firebase 云Firestore多个文档和未知的收集路径,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我正在使用Firestore数据库,并在web javascript应用程序上进行实时更新。 目的是显示每个现有设备的传感器数据(温度、超声波等): devices/devices01/sensors/sensor01/value:10 devices/devices01/sensors/sensor02/value:15 devices/devices02/sensors/sensor01/value:30 devices/devices03/sensors/sensor01/value:20

我正在使用Firestore数据库,并在web javascript应用程序上进行实时更新。 目的是显示每个现有设备的传感器数据(温度、超声波等):

devices/devices01/sensors/sensor01/value:10
devices/devices01/sensors/sensor02/value:15
devices/devices02/sensors/sensor01/value:30
devices/devices03/sensors/sensor01/value:20
用户可以有一个设备列表,以便实时更新传感器数据

users/userA/devices/{device01:true,device03:true}
users/userB/devices/{device02:true}
我不知道在以下情况下如何查询和获取快照: 1.使用设备列表中的设备名称 2.更换所有传感器

当然,这是行不通的:

db.collection("devices").doc("[device01,device03]").collection("pins").doc("*").get()

有什么建议吗?

您需要单独识别每个文档,并为它们附加一个侦听器。没有类似列表或通配符的方法来引用文档


您可以一次侦听多个文档的唯一方法是通过查询识别所有文档。在这里,唯一可以帮助您的查询是标识
pins
下的所有文档的查询。CollectionReference是侦听该集合中所有文档的查询。

您能给我一个建议吗?从文档中的示例开始,然后从中构建。天啊!道格·史蒂文森?你是真的吗?伙计,我是你的粉丝,伙计。感谢您对我们的支持。array_包含的内容在这里对您没有帮助。它检查文档中存储的数组字段中的值,而不是您传入的任意数组。不确定其他选项将为您带来什么。O找到2个选项:1。正如@todd kerpelman在本视频中建议的那样,我可以使用类似于
.whereField(“userList.uid”).isGreaterThan(nil)
2的内容。作为Jeff(来自Angular Firebase),在本视频中,我可以使用
。其中(“用户列表”、“数组包含”、“uid”)
基于JavaScript SDK发行说明版本5.3.0-2018年7月19日