Мангуста Схема, как изменить date.now при обновлении БД - PullRequest
0 голосов
/ 27 января 2019

Как мы можем изменить значение updated_at всякий раз, когда обновляются данные БД

Считайте, что это моя схема Mongoose,

const mongoose = require('mongoose')

const locationDataSchema = new mongoose.Schema({
    locationName: String,
    location: [{
        lat: Number,
        lng: Number
    }],
    news: [ {
        author: String, //or number
        title: String,
        description: String,
        url: String,
        urlToImage: String
    }],
    updated_at: {
        type: Date,
        default:  Date.now
    }
})

Из моего смутного прочтения документов Mongoose Docs,Я сделал что-то вроде этого

locationDataSchema.post('save', (next) => {
    console.log("here")
    this.locationName = this.locationName.toLowerCase();
    this.updated_at = Date.now()
 })

Но это не вызывается всякий раз, когда я создаю / обновляю что-то в своей схеме Мангуста

Вопрос: Может ли кто-нибудь помочь мне выяснить, как я могу изменить

updated_at = Date.now()

Всякий раз, когда пользователь обновляет данные в БД (аналогично изменяя имя местоположения на строчные)

1 Ответ

0 голосов
/ 27 января 2019

Текущая версия Mongoose (v4.x) имеет отметку времени как встроенную опцию для схемы:

var mySchema = new mongoose.Schema( {name: String}, {timestamps: true} );

Эта опция добавляет свойства созданного и обновленного атрибута, которые являютсяотметка времени с датой, и которая делает всю работу за вас.Для более подробной информации смотрите

https://mongoosejs.com/docs/guide.html#timestamps

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...