Как мы можем изменить значение updated_at
при каждом обновлении данных БД?
Считайте, что это моя схема мангуста,
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 я сделал что-то вроде этого
locationDataSchema.post('save', (next) => {
console.info("here")
this.locationName = this.locationName.toLowerCase();
this.updated_at = Date.now()
})
Но это не вызывается всякий раз, когда я создаю/обновляю что-то в своей схеме мангуста.
Вопрос: Может ли кто-нибудь помочь мне понять, как я могу изменить
updated_at = Date.now()
Всякий раз, когда пользователь обновляет данные в БД (аналогично изменению имени местоположения на нижний регистр)
🤔 А знаете ли вы, что...
Node.js позволяет создавать RESTful API с помощью библиотеки Restify.
Текущая версия Mongoose (v4.x) имеет отметку времени как встроенную опцию схемы:
var mySchema = new mongoose.Schema( {name: String}, {timestamps: true} );
Эта опция добавляет свойства createdAt и updatedAt, которые имеют отметку времени с датой и делают всю работу за вас. Для получения дополнительной информации см.
https://mongoosejs.com/docs/guide.html#timestamps