错误:参数"data"不是有效的Document.输入不是普通的JavaScript对象

Mig*_*Slv 10 node.js firebase typescript google-cloud-firestore

我收到了错误

错误:参数"data"不是有效的Document.输入不是普通的JavaScript对象.

使用firebase admin SDK更新文档时.这里是Typescript代码.

var myDoc = new MyDoc();
myDoc.Public.Name = "Jonh Doe" //setup up content

admin.firestore()
     .collection('MyDocs')
     .doc("Id1")
     .set(myDoc);
Run Code Online (Sandbox Code Playgroud)

Mig*_*Slv 5

如果其他人遇到同样的问题,解决方案是简单地使用 Json 来实例化对象,如下所示:

var myDoc = {
        Public: {
            Name: "Jonh Doe"
        }
    } as MyDoc; //keep type to still get typescript compiler validations
Run Code Online (Sandbox Code Playgroud)


Cha*_*ham 5

我做了类似的事情:

var myDoc = <MyDoc> {
    Public: {
        Name: "Jonh Doe"
    }
}
Run Code Online (Sandbox Code Playgroud)

它在语义上是相同的,我只是觉得它更简洁一些。