Firestore - 如何建模和查询 2 collections 的关系 - IOT 用例 - v2
Firestore - How to model and query relation of 2 collections - IOT use case - v2
延伸到我的问题
我现在看过一个关于此的视频,它推荐使用文档 ID 建模关系。
https://www.youtube.com/watch?v=jm66TSlVtcc 跳到 6:07
我想知道它在这种情况下是否可行(修改我原来问题中的示例以适应这个关于 firestore 关系的 youtube 推荐:
例如:我有 2 个不同的 collection - 跟踪和场地
跟踪 <-- collection
1. document(xyz123)
venueId = "abcd1234"
timestamp = 10/09/2019 10:00
2. document(xyz567)
venueId = "efgh3456"
timestamp = 10/09/2019 11:00
地点 <-- collection
1. document(abcd1234) <-- notice i shift the device_unique_identifier here instead
name = "room A"
// device_unique_identifier = "abcd1234" <-- this is unique name
2. document(efgh3456) <-- notice i shift the device_unique_identifier here instead
name = "room B"
// device_unique_identifier = "efgh3456" <-- this is unique name
主要问题:
我想查询文档 xyz123 并获取行中的场地名称。所以输出将是:
document(xyz123)
device_unique_identifier = "abcd1234"
timestamp = 10/09/2019 10:00
venue.name = "room A"
关于另一个可能的额外问题,在插入跟踪数据时,是否可以将场地数据作为 object 自动插入 firestore 后端而不需要查询场地数据?
Firebase 无法做到这一点。 Firebase 中没有 JOIN 的概念。如果数据位于两个单独的文档中,您将需要重新考虑如何存储数据(以便可以一次调用所有数据等)或进行所有调用以实现最终所需的输出。
您当然可以像现在这样存储数据,但是您不能查询一个文档来获取具有当前结构的输出。
延伸到我的问题
我现在看过一个关于此的视频,它推荐使用文档 ID 建模关系。 https://www.youtube.com/watch?v=jm66TSlVtcc 跳到 6:07
我想知道它在这种情况下是否可行(修改我原来问题中的示例以适应这个关于 firestore 关系的 youtube 推荐:
例如:我有 2 个不同的 collection - 跟踪和场地
跟踪 <-- collection
1. document(xyz123)
venueId = "abcd1234"
timestamp = 10/09/2019 10:00
2. document(xyz567)
venueId = "efgh3456"
timestamp = 10/09/2019 11:00
地点 <-- collection
1. document(abcd1234) <-- notice i shift the device_unique_identifier here instead
name = "room A"
// device_unique_identifier = "abcd1234" <-- this is unique name
2. document(efgh3456) <-- notice i shift the device_unique_identifier here instead
name = "room B"
// device_unique_identifier = "efgh3456" <-- this is unique name
主要问题: 我想查询文档 xyz123 并获取行中的场地名称。所以输出将是:
document(xyz123)
device_unique_identifier = "abcd1234"
timestamp = 10/09/2019 10:00
venue.name = "room A"
关于另一个可能的额外问题,在插入跟踪数据时,是否可以将场地数据作为 object 自动插入 firestore 后端而不需要查询场地数据?
Firebase 无法做到这一点。 Firebase 中没有 JOIN 的概念。如果数据位于两个单独的文档中,您将需要重新考虑如何存储数据(以便可以一次调用所有数据等)或进行所有调用以实现最终所需的输出。
您当然可以像现在这样存储数据,但是您不能查询一个文档来获取具有当前结构的输出。