Big_Trouble
@Big_Trouble
Программист недосамоучка

Mongoose как удалить комментарий который привязан к товару при удалениии категории товара?

Доброго времени суток. Возник вопрос имею три документа. Подскажите как мне сделать так чтобы когда я удаляю Категорию товара, все товары из этой категории удалялись и соответственно удалялись все комментарии которые привязаны к этой категории
// Модель товара
const ProductSchema = new mongoose.Schema({
    name: {
        type: String,
        min: 6,
        max: 128,
        required: true,
        qnique: true,
    },
    description: {
        type: String,
        min: 64,
        max: 4096,
        required: true,
    },
    price: {
        type: Number,
        min: 0,
        required: true,
    },
    sale: {
        type: Number,
        min: 0,
        max: 99,
        default: 0,
    },
    category: { 
        type: mongoose.Schema.Types.ObjectId,
        ref: 'Category' 
    },
})


// Модель категории
const CategorySchema = new mongoose.Schema({
    name: {
        type: String,
        min: 6,
        max: 128,
        required: true,
        unique: true,
        trim: true, 
    },
    parentId: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'Category',
    },
    slug: {
        type: String,
        required: true,
        unique: true,
    },
    productsCount: {
        type: Number,
        default: 0
    }
}, {timestamps: true})


// 
Const CommentSchema = new mongoose.Schema({
    name: {
        type: String,
        required: true,
        min: 2,
        max: 64,
    },
    email: {
        type: String,
        required: true,
        min: 6,
        max: 320
    },
    message: {
        type: String,
        required: true,
        max: 4096,
        min: 8,
    },
    date: {
        type: Date,
        default: Date.now,
    },
    rate: {
        type: String,
        default: '5',
    },
    product: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'Product',
    }
})
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
Используйте транзакции

https://www.mongodb.com/docs/manual/core/transactions/

Я лично на бэкенде создаю отложенные задачи на чистку базы, удаление данных дорогая операция
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы