У меня есть следующая модель Typescript:
export class Parent{
id: string;
children: Child[];
}
export class Child {
id: string;
}
Я добавляю родителя в Firestore следующим образом:
admin.firestore().collection('parent').doc(p.id).set(p);
В результате получается что-то вроде этого:
Parents: [PARENT_ID] { id: PARENT_ID, children: [[0]: { CHILD1 }, [1]: {CHILD2 }}
Я хотел бы, чтобы у моих потомков subCollection был уникальный идентификатор, а не индекс коллекции, например:
Parents: [PARENT_ID] { id: PARENT_ID, children: [[CHILD_ID_1]: { CHILD1 }, [CHILD_ID_2]: {CHILD2 }}
Я мог бы достичь этого, но удалив свойство children из моего класса Parent и сделав что-то вроде этого:
admin.firestore().collection('parent').doc(p.id).set(p);
children.forEach(c => admin.firestore().collection('programs').doc(p.id).collection(c.id).set(c);
Но есть ли способ, которым я мог бы изменить свою модель машинописи, чтобы я мог один раз сохранить родителя и иметь в качестве ключа child.id вместо индекса?