FeathersJS采用Firebase架构

TJ_*_*TJ_ 7 architecture node.js promise feathersjs firebase-realtime-database

我有一个现有的Firebase应用程序(它是为快速原型设计而构建的,现在变大了,我不打算移动,因为现有的依赖项,也因为易用性和身份验证捆绑)而我正在尝试构建一个Rest API使用FeatherJS.

如果您使用标准数据库(MongoDB等),使用FeathersJS似乎很容易.如何将Firebase与Feathers集成在一起,保持最佳实践(服务架构,AOP)?我可以覆盖Feathers中的服务并将其映射到我的Firebase Rest端点吗?

我在Feathers中创建了一个自定义服务并尝试这样做:

  get(id, params) {
    return Promise.resolve(FirebaseRef.child(id).once('value'));
  }
Run Code Online (Sandbox Code Playgroud)

我明白了:

Converting circular structure to JSON error
Run Code Online (Sandbox Code Playgroud)

我正在做的是正确的吗?

TJ_*_*TJ_ 5

这有效:

return Promise.resolve(FirebaseRef.child('userId1').once('value').then(function (snap) {
          return snap.val();
        }));
Run Code Online (Sandbox Code Playgroud)

我仍然不确定这是否是我最好将Firebase与FeathersJs集成的方式

  • 关于Firebase与FeathersJs的集成还不太确定,但是`FirebaseRef.child(id).once('value')`肯定会返回一个promise而不需要包含在`Promise.resolve()`中?如果是这样,那么你可以写`return FirebaseRef.child('userId1').once('value').then((snap)=> snap.val());` (2认同)