我目前正在使用Firebase Firestore和Next JS。我已经用谷歌搜索了如何组织一个firestore项目,但是大多数(实际上都是)是不可扩展的。
我试图做的是创建一个文件夹,其中包含与Firebase相关的所有组件,例如配置和实用程序方法。我发现最具挑战性的部分是编写一个通用函数来获取应用所有受支持方法(即.orderBy()
,.limit()
,.where()
和{{1 }}。编写一个转换器将数据库返回的数据转换为另一种格式也确实很困难。
这是我实现的:
其中.doc()
是一个辅助函数,将上面提到的所有这些方法放在一起,getDocRef.js
和getOnce.js
公开了与数据库交互的方法,而observe.js
包含配置。
对于有兴趣的人,这是我对db.js
函数的幼稚解决方案:
.getDocRef()
因此,我很想知道我目前对Firebase的实现是否还可以。如果没有,我应该采用什么项目结构?我应该如何改善当前结构以使其更有效率?最后但并非最不重要的一点是,我上面发布的天真的JS解决方案有替代方案吗?预先感谢
答案 0 :(得分:1)
我的个人方法:
.env
软件包将所有凭据提取到dotenv
/lib/db
和此处的两个文件:
init.js
初始化Firebase/firestore
如果您的项目越来越大,我建议将每个集合的相关方法提取到/lib/db
中的文件中,并在其中进行组织(以某种方式进行状态管理)。