red*_*fox 5 database-design nosql firebase google-cloud-firestore
我有一个应用程序,可以帮助店主通过简单的 API 驱动界面管理库存。
我的应用程序将所有数据存储在 Firestore 上。我的简化数据库如下所示:
-users
-name
-email
-uid
-products
-atts
...
-ownerId
-someOtherThing
-atts
...
-ownerId
Run Code Online (Sandbox Code Playgroud)
这个想法是,只有ownerId 与当前用户ID 匹配的文档才能被用户访问。ID=5 的用户只能访问与ownerId=5 匹配的项目。
这是存储这些数据的好方法吗?我担心我最终会在该集合中得到数千个文档,并且通过“ownerId”查询它们可能不是解决这个问题的最佳方法。另一方面,我最终可能也会有数百个用户,这可能会让为每个用户引入几个新系列的设计变得糟糕?
从设计角度来说,更好的方法是什么?
虽然“一个好方法”是主观的并且完全取决于应用程序的用例,但您所提议的是在 Firestore 中存储数据的一种非常常见的方法。
您对用户数量和其他文档的担忧是没有根据的,因为 Firestore 保证为特定用户返回(比如说)产品的性能仅取决于返回的产品数量,而不取决于数据库中的产品总数。
因此,如果您有 10 种产品ownerId,那么无论有多少其他用户/产品,检索这 10 种产品所需的时间将始终相同。
| 归档时间: |
|
| 查看次数: |
1197 次 |
| 最近记录: |