@StepsOnes

Как сделать удаление записи в MongoDb через n кол-во часов?

Как сделать удаление записи в MongoDb через n кол-во часов? Допустим хочу сделать публикация объявлений в node.js, но через сутки объявление должно удалиться, как это реализовать? И хотелось бы на фронте видеть через какое кол-во часов это объявление удалиться. Может у кого-то есть подобный код или вы знаете статью на эту тему? Спасибо!
  • Вопрос задан
  • 337 просмотров
Решения вопроса 2
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
@StepsOnes Автор вопроса
Надеюсь кому-то поможет:

// Shema
import { Schema, model } from "mongoose";

const TestSchema = new Schema({
    walletAddress: {
        type: String,
    },
    expireAt: {
        type: Date,
        default: Date.now,
        required: true
    }
},)

TestSchema.index( { "expireAt": 1 }, { expireAfterSeconds: 0 } );

export default model('TestModel', TestSchema)

// Controller

class TestController {
    async add(req, res) {
        try {
            const { walletAddress, time } = req.body;

            const expireAt = new Date();
            expireAt.setHours(expireAt.getHours() + Number(time));


            const newWallet = await testSchema.create({
                walletAddress,
                expireAt
            });

            await newWallet.save()

            return res.json({newWallet})
        } catch(err) {
            console.log(err)
        }
    }

 
}

export default new TestController();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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