5

我有一个关于在angularfire的firestore中插入对象的问题:

我的对象 Person.ts

name: String
age: Number
//--constructor--
//--getters and setters--

如果我这样做,插入确定:(但这是一个好习惯吗?)

[person.component.ts]
      this.db.collection("person").add({
              name: this.person.$nome,
              age: this.person.$email
          })
    ...

但如果我尝试:

    [person.component.ts]
         this.db.collection("person").add({
                     Person: this.person
//or this this.person
                  })

我在浏览器控制台中收到此错误:

使用无效数据调用的函数 DocumentReference.set()。不支持的字段值:新 FirestoreError (error.js:149) 处的自定义 Person 对象(在字段 Person 中找到)

4

1 回答 1

4

Firestore 仅接受嵌入在文档中的“纯”对象的 JavaScript 对象,这意味着您在使用 TypeScript 编码时不能使用自定义对象。

将您的代码更改为:

this.db.collection("person").add(Object.assign({}, this.person)); 
于 2017-11-20T01:58:05.633 回答