Могу ли я создать коллекцию сущностей внутри сущности с помощью Ngrx - Entity Adapter?
Мне нужно создать коллекцию сущностей внутри сущности, как я могу это сделать с помощью NgRx с Cloud Firestore?
Я знаю, что могу создать массив внутри документа Pizza, но я хочу сделать это, используя масштабируемость Cloud Firestore, потому что я хочу выполнять функции с динамическими облачными функциями.
Мне нужно что-то вроде этого AngularFire2 State Changex With Ngrx урок, но я хочу иметь для каждой пиццы начинки, которые должны оставаться в пределах состояния пиццы в каждой сущности.
Пути к Cloud Firestore:
PathRefPizzas: pizzas/{pizaId}
;
PathRefToppings: pizzas/{pizaId}/toppings/{toppingId}
;
export function pizzasReducer(
state: PizzaState = initialState,
action: ActionPizza) {
switch (action.type) {
case actionsPizza.PIZZA_ADDED: {
return unidadeAdapter.addOne(action.payload, state)
};
case actionsPizza.PIZZA_MODIFIED:
return pizzaAdapter.updateOne({
id: action.payload.id,
changes: action.payload
}, state)
case actionsPizza.PIZZA_REMOVED:
return pizzaAdapter.removeOne(action.payload.id, state)
case actionsPizza.TOPPING_ADDED: {
// Here I need to add Toppings inside a Pizza entity in which it belongs.
return toppingsAdapter.addOne(action.payload, state);
}
default:
return state;
}
Данные в состоянии должны быть следующими.
pizzas: {
ids: [...]
entities: [
{'pizza1': {id: 'pizza1, name: 'Pizza 1', toppings: [...]},
{'pizza2': {id: 'pizza2, name: 'Pizza 2', toppings: [...]}
{'pizza3': {id: 'pizza3, name: 'Pizza 3', toppings: [...]}
{'pizza4': {id: 'pizza4, name: 'Pizza 4', toppings: [...]}
{'pizza5': {id: 'pizza5, name: 'Pizza 5', toppings: [...]}
];
}
Как мне сделать это с помощью управления состоянием ngrx? Если кто может мне помочь, как я могу это сделать, буду очень благодарен за это, для меня это очень важно !!!