FirebaseError:预期类型“Hc”,但它是:自定义 Yc 对象]

Posted

技术标签:

【中文标题】FirebaseError:预期类型“Hc”,但它是:自定义 Yc 对象]【英文标题】:FirebaseError: Expected type 'Hc', but it was: a custom Yc object] 【发布时间】:2022-01-02 01:22:51 【问题描述】:

我正在尝试批量输入,但此错误不断发生。 我在 .doc 中传递一个数组,它在其他函数上运行良好,我使用循环和函数将一个数组传递到 .doc。

请帮帮我,请解释一下错误的含义。

export const AddTaskToFriend = (
  ArryOfIds,
  email,
  title,
  tag,
  prayority,
  completed
) => 
  return async (dispatch) => 
    const db = firebase.firestore();
    var batch = db.batch();

    for (let i = 0; i < ArryOfIds.length; i++) 
      const Collections = db
        .collection("Tasks")
        .doc(ArryOfIds[i])
        .collection("SingleTask");
      batch.set(Collections, 
        creater: firebase.auth().currentUser.uid,
        UpdatedOn: new Date().toString(),
        CreatedOn: new Date().toString(),
        email,
        title,
        tag,
        prayority,
        completed,
      );
    
    batch
      .commit()
      .then((success) => 
        console.log(` its a success $success`);
      )
      .catch((error) => 
        console.log(error);
      );

【问题讨论】:

【参考方案1】:

看起来错误可能来自batch.set()。根据本文档.set() 需要对文档的引用,在您的情况下,您正在传递一个集合引用:

const Collections = db
        .collection("Tasks")
        .doc(ArryOfIds[i])
        .collection("SingleTask");

您可以尝试在.collection("SingleTask") 之后添加.doc(),看看是否可以解决问题。

【讨论】:

以上是关于FirebaseError:预期类型“Hc”,但它是:自定义 Yc 对象]的主要内容,如果未能解决你的问题,请参考以下文章

firebase 错误:FirebaseError:缺少权限或权限不足

Uncaught (in promise) FirebaseError: The caller does not have permission at new e

“类型不是预期的”,使用 DataContractSerializer - 但它只是一个简单的类,没有有趣的东西?

FirebaseError:权限缺失或不足。 -类星体和火力基地

FirebaseError:无法获取文档,因为客户端处于脱机状态

FirebaseError:firebase.initializeApp 中未提供“projectId”