将Firestore索引与webapp中的slug相关联

时间:2018-06-17 02:18:37

标签: firebase firebase-realtime-database google-cloud-firestore angularfire2

我希望我的网络应用路由器slugs与我的Firestore文档数据相对应。

例如:

www.mysite.com/restaurants/burger-king
/restaurants               <- Firestore Collection
/restaurants/mcdonalds     <- Firestore Document
/restaurants/burger-king   <- Firestore Document

这很容易,因为我可以在Firestore中将名称指定为对slug友好的UID。 CRUD功能出现了困难。我需要能够重命名我的项目标题,但Firestore不允许您重命名索引,这是我面临的问题。

我看到的一个SO解决方案是删除旧记录并在更新的索引处创建一个新记录。这对我来说是个问题,因为子集合很难从客户端转移。

有更优雅的解决方案吗?

1 个答案:

答案 0 :(得分:0)

您不必通过其ID识别文档。如果您能够确保文档字段值的唯一性,则可以在集合中查询已知字段中的ID值,然后使用该查询的结果来满足您的REST API。然后,您可以根据需要随时更改该文档字段的值,以满足对公共API的必要更改。