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',
    }
})
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
Используйте транзакции

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

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

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

Похожие вопросы