Reactjs react redux firebase不';t在Firestore上正确存储providerData

Reactjs react redux firebase不';t在Firestore上正确存储providerData,reactjs,firebase,google-cloud-firestore,react-redux-firebase,Reactjs,Firebase,Google Cloud Firestore,React Redux Firebase,我使用的是实时数据库,现在迁移到Firestore。以前,我将我的providerData存储为一个数组,因为一个帐户可以分配多个提供者。现在,我试图为Firestore保留相同的结构,但它不在数组中存储providerData对象 我看到一些关于Firestore如何不允许自定义对象的评论,并且已经将Firebase对象转换为Javascript纯对象 我的profileFactory当前是这样的: profileFactory: (data, profile) => { const

我使用的是实时数据库,现在迁移到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",

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

我认为它应该可以正常工作。您能否提供
helperProviderData
的示例?发现问题不在于Firestore连接。由于某种原因,我还不确定,当使用
providerData
创建对象时,数组中的对象是空的,而如果我选择数组的第一个位置,则可以正确获取对象。当我有更多的时间的时候,我还会再挖一点。这就是为什么我要问这个问题。我已经测试了Firestore中所有可能的数据结构,但没有发现这种行为。可能问题在于从Firestore获取数据到
profile
参数