2

所以我正在使用这个包,并希望应用这个收据来将我的 firestore 中名为“roles”的集合中的数据填充到 redux 状态下的 firebase/profile 数据中。

在这个文档中说,我的角色集合必须是 firestore 中用户集合的兄弟,但在我的情况下这是不可能的。我有不同的集合:存储用户数据的用户和存储应用树和按角色访问的角色。

如何使用此包在不同集合之间填充数据?请帮我..

我正在使用此代码进行设置:

const store = createStore(
  rootReducer,
  composeEnhancers(
    applyMiddleware(thunk.withExtraArgument({ getFirebase, getFirestore })),
    reduxFirestore(fbConfig),
    reactReduxFirebase(fbConfig, {
      useFirestoreForProfile: true,
      userProfile: 'users',
      profileParamsToPopulate: [
      { child: 'profile', root: 'roles' }, //But that's not working because roles is not sibling of users
      ],
      attachAuthIsReady: true
    })
  )
)

这是我在 Firestore 中的数据的屏幕截图在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

4

2 回答 2

0

如果您根据rrf 文档的填充部分配置代码并将其useFirestoreForProfile设置为 true,您将看到以下内容console.warning

Profile population is not yet supported for Firestore

现在好像不支持

有关更多详细信息,请参阅问题

于 2021-04-24T10:17:17.307 回答
0

尝试将配置文件字段的类型从 string 更改为reference。将配置文件字段作为参考时,您的数据将被填充。存储到引用字段时,您还需要包含引用所在的集合。这意味着配置文件字段中的数据应该看起来像这样"roles/{roleId}",当然您应该将 {roleId} 替换为您尝试保存在配置文件字段中的角色的 id。在您显示配置文件字段中的数据的第一张图片中,应如下所示:'roles/q3Kb0dM2XBRzS4IIrDm'

PS如果您从代码中添加参考字段,请使用此行

db.doc( roles/${roleId})

db 是您在操作中使用getFirestore()获得的 Firestore 对象。

于 2019-09-29T19:45:55.930 回答