Просто хотел узнать мнение о дилемме, с которой я столкнулся. Я использую MongoDB и Node для серверной части и React / Redux для веб-интерфейса. Я использую redux-thunk для выполнения вызовов API, и одна из моих моделей данных имеет своего рода отношения родитель-ребенок. Чтобы упростить это:
Parent. js
name: {
type: String
default: ""
},
children: [{
type: mongoose.Schema.Types.ObjectID,
ref: "Child"
}]
}
Child. js
name: {
type: String
default: ""
},
parent: {
type: mongoose.Schema.Types.ObjectID,
ref: "Parent"
}
}
Теперь я использую Redx-thunk для получения Родители и хранить их в избыточном состоянии. Таким образом, мое первоначальное состояние избыточности выглядит примерно так:
parents: [
{
name: "Parent 1",
children: [{
name: "Child 1",
parent: "Parent 1",
},
{
name: "Child 2",
parent: "Parent 1",
}
]
},
{
name: "Parent 2",
children: [{
name: "Child 3",
parent: "Parent 2",
},
{
name: "Child 4",
parent: "Parent 2",
}
]
}
]
А теперь, например, у меня есть форма во внешнем интерфейсе, которая добавляет дочерний элемент и выбирает родительский элемент из выпадающего списка, я не могу выяснить, как манипулировать списком детей этого родителя. Я уверен, что добавление ребенка будет только началом моих проблем, мне также придется подумать об изменении имени ребенка и удалении.
У меня есть рабочий бэкэнд для этого, уже написанный в Node и Mon goose, где ребенок добавляется в список детей родителя; тем не менее, я застрял на стороне состояния редукции / реакции.
Есть предложения?