代码之家  ›  专栏  ›  技术社区  ›  josecastillo86

如何在firebase中更新列表中的字段?

  •  0
  • josecastillo86  · 技术社区  · 4 年前

    我在Firebase中有这个集合 enter image description here

    我试图修改特定主题的地图注释中的值,但我做不到,我尝试了几种方法,但都没有成功 我真的很感激你能帮我一点忙。

    我以这种方式获得数据,但我无法更新这些数据。

    this.firestore.collection('school').doc('254')
                .get().toPromise().then(doc => {
                if (doc.exists) {
                    const student = doc.data().class.find(value => {
                        return value.name === 'john';
                    });
                    console.log('student', student);
                    /*
                    Here edit student.notes.math = newValue
                     */
                }
            });
    

    PD:我目前正在使用Angular 7。

    0 回复  |  直到 4 年前
        1
  •  2
  •   Doug Stevenson    4 年前

    我没有看到你的代码试图更新你找到的文档。更改内存中的数据不会更改文档的内容。您必须编写额外的代码来更新文档中对类字段的更改。

    请参阅:

    this.firestore
        .collection('school')
        .doc('254')
        .update("class", NEW_FIELD_CONTENTS)
    

    您需要提供 整个的 更新类字段的内容。Firestore没有任何操作允许您在特定索引处更新数组项。