Допустим, у меня есть следующая коллекция продуктов в магазине:
product: {
id: 10
dependencies: [
{ id: 1 },
{ id: 2 }
]
}
product: {
id: 5
dependencies: [
{ id: 1 },
]
}
product: {
id: 6
dependencies: [
{ id: 2 },
{ id: 5 }
]
}
product: {
id: 1
dependencies: []
}
product: {
id: 2
dependencies: []
}
Каждый продукт может иметь свои собственные зависимости, перечисленные в массиве как объекты с ассоциированным идентификатором. Я хочу знать, каков наилучший способ реализовать удаление продукта с ID
, чтобы все другие продукты, которые имеют ID
в зависимостях, также были удалены.
Некоторые варианты использования:
Если я удаляю продукт с id: 2
, он должен удалять продукты: id:6
, id:10
.
Если я удаляю продукт с id: 1
, он должен удалять продукты: id:10
и id:5
. Кроме того, поскольку продукт с id:5
находится в зависимости от продукта id:6
product: id:6
также следует удалить.
В мангусте я использовал Schema.pre('remove', Function)
.
Каков наилучший способ реализации определенного поведения с помощью Firestore? Предложения?