angularjs – Firestore – 使用数组添加对象
发布时间:2020-12-17 17:03:44 所属栏目:安全 来源:网络整理
导读:在这里整天用这个东西杀了我自己,我有两个部门和Articals: export class Department {articals?: Artical[]=[];moms?: number;id?: string;constructor() {}} 和: export class Artical {moms?: number;price: number;name?: string;constructor() {}} 喜
在这里整天用这个东西杀了我自己,我有两个部门和Articals:
export class Department { articals?: Artical[]=[]; moms?: number; id?: string; constructor() { } } 和: export class Artical { moms?: number; price: number; name?: string; constructor() { } } 喜欢你可以看到部门包含一个’Articals’数组 this.departmetsCollection.doc(departmentId).set(Object.assign({},myDepartment)); 但得到错误: P.s tryed仅将部分艺术品添加到部门的路径中 doc(departmentId).set({'articals':myArticals}); 并且使用’update’而不是’set’但是没有任何帮助:S 解决方法
Firestore仅接受嵌入在文档中的JavaScript对象(如果它是“纯”对象),这意味着在使用TypeScript进行开发时不能使用自定义对象.因此,在将对象推送到articals数组之前,您必须映射它们.
首先更改您的Department类: export class Department { articals?: Array<any>=[]; moms?: number; id?: string; constructor() { } } 第二个映射你的“Artical”数组: var map = arrayOfArtical.map((obj)=> {return Object.assign({},obj)}); 然后你可以将地图值归因于’this.myDepartment.articals’ this.myDepartment.articals = map; 之后你可以执行: this.departmetsCollection.doc(departmentId).set(Object.assign({},myDepartment)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |