我有一个离子应用程序试图更新Firebase中的记录。我不断收到此错误。不知道我在做什么错。
错误:未捕获(承诺):FirebaseError:[code = invalid-argument]:函数CollectionReference.doc()要求其第一个参数的类型为非空字符串,但它是:自定义Object对象>
FirebaseError:函数CollectionReference.doc()要求其第一个参数为非空字符串类型,但这是:自定义Object对象
这是我的更新功能。
updateTodo(todo: Todo, id: string) {
return this.todosCollection.doc(id).update(todo)
}
答案 0 :(得分:1)
就我而言,我在.doc函数中传递了一个数字类型变量,但它需要一个字符串。验证您的“ id”变量是否具有值,并且该值不是未定义的,null或为空的字符串。
答案 1 :(得分:0)
当您尝试将空对象发送到Firebase时会发生这种情况。 在异步调用完成之前重设表单值时出现此错误。
答案 2 :(得分:0)
问题出在您要传递doc的id上,它应该是一个字符串..尝试记录其值只是为了检查您到底传递了什么
答案 3 :(得分:0)
转到调用该函数的地方updateTodo使用uid而不是id。
答案 4 :(得分:0)
我遇到了这个问题,并通过输入.doc(cred.user。 uid )而不是.doc(cred.user。 id )解决了该问题。