ERROR 错误:使用无效数据调用函数 DocumentReference.set()。不支持的字段值:未定义(在字段 activityId 中找到)

Posted

技术标签:

【中文标题】ERROR 错误:使用无效数据调用函数 DocumentReference.set()。不支持的字段值:未定义(在字段 activityId 中找到)【英文标题】:ERROR Error: Function DocumentReference.set() called with invalid data. Unsupported field value: undefined (found in field activityId) 【发布时间】:2018-08-11 14:42:30 【问题描述】:

我正在尝试将自动生成的 id 存储到文档字段中。

  var act  =  this.afs.collection("activities").add(
  activityId = act.id,

    )
.then(function(docRef) 
    console.log("Document written with ID: ", docRef.id);
)
.catch(function(error) 
    console.error("Error adding document: ", error);
);

但在控制台中出现错误。我确定我使用了错误的方法。请帮助我如何访问我的文档的自动 ID?任何帮助将不胜感激。

【问题讨论】:

Function DocumentReference.set() called with invalid data 不应该是activityId: act.id 而不是activityId = act.id 【参考方案1】:

您可以使用 angularfire2 方法.createId()。这将在本地生成一个随机 id。

let id = this.afs.createId();
this.afs.collection("activities").doc(id).set(
    activityId: id
);

【讨论】:

您是否遇到同样的错误?你能console.log(act.id)吗? 对不起,我没有注意到你使用 angularfire2。

以上是关于ERROR 错误:使用无效数据调用函数 DocumentReference.set()。不支持的字段值:未定义(在字段 activityId 中找到)的主要内容,如果未能解决你的问题,请参考以下文章

Angular5 - 错误:使用无效数据调用函数 DocumentReference.set()。数据必须是一个对象,但它是:一个自定义的 PlatformModel 对象

错误:非静态成员函数 C++ 的无效使用

React - 错误:无效的钩子调用。 Hooks 只能在函数组件的主体内部调用

× 错误:无效的挂钩调用。 Hooks 只能在函数组件的主体内部调用。[ReactJS]

错误:无效的挂钩调用。钩子只能在函数组件的主体内部调用。 【我还在用函数组件】

错误:尝试调用函数时返回值无效