如何更新整个集合? Firebase 数据库迁移

How to update whole collection? Firebase Database migration

我对 Article 模型进行了一些更新,这会影响集合中的所有元素,因此我需要更新整个集合。

我不知道应该如何以正确的方式制作它。在 ASP.NET 中它调用 "Database Migration"。当您可以一键删除旧字段并向所有项目添加新字段时。

这是我的模型。

旧型号:

// article.ts
export class Article {
    id?: string;
    title: string;
    text: string;
    views: number;
    archived: boolean;
    published: boolean;
}

更新模型:

// article.ts
export class Article {
    id?: string;
    title: string;
    text: string;
    views: number;
    status: Status;
}

export enum Status {
    Archived = 'archived',
    Draft = 'draft',
    Published = 'published'
}

我应该如何更新集合中的所有项目?

Firebase 可用的数据库(实时数据库和 Cloud Firestore)均无法批量更新字段或执行迁移。您必须阅读每个项目,然后写回每个项目应包含的字段。