react-redux-firebase无法在Firestore上正确存储providerData

时间:2019-12-09 20:37:04

标签: reactjs firebase google-cloud-firestore react-redux-firebase

我当时使用的是实时数据库,现在正在迁移使用Firestore。以前,我将providerData存储为数组,因为一个帐户可以分配多个提供程序。现在,我正在尝试为Firestore保留相同的结构,但是它没有将providerData对象存储在数组中。

我看到了一些关于Firestore不允许自定义对象的评论,并且已经将Firebase对象转换为Javascript纯对象。

我的profileFactory当前是这样的:

profileFactory: (data, profile) => {
  const helperProviderData = (profile.providerData || data.providerData || data.user.providerData);
  const providerData = JSON.parse(JSON.stringify(helperProviderData));
  return ({
    ...profile,
    role: 'user',
    providerData,
    test: providerData[0],
  });
}

在Firestore上,我正确地填充了test字段,但是providerData字段设置为具有一个空对象的数组。

这些是版本:

"@firebase/app": "0.4.19",
"@firebase/auth": "0.12.1",
"@firebase/database": "0.5.7",
"@firebase/firestore": "1.6.1",
"react-redux-firebase": "^3.0.2",
"redux-firestore": "^0.11.0",

是否可以设置为提供程序数组,或者我需要为我的应用程序接受的每个提供程序创建一个提供程序字段?

0 个答案:

没有答案