Я сохраняю метку времени при создании документа goose.
Моя проблема в том, что метка времени не изменяется должным образом. Всякий раз, когда я сохраняю документ, createdAt
возвращает момент запуска сервера.
mon goose модель для сохранения timeStamp (с использованием свойства createdAt
)
import { Schema, model } from 'mongoose';
import moment from 'moment-timezone';
const requestSchema = new Schema({
createdAt: {
type: String,
default: moment
.tz(new Date(), 'Asia/Seoul')
.format('YYYY-MM-DD HH:mm:ss'),
},
...
})
And I ' m создание документа mongodb в функции, подобной следующей
export const returnRecordObject = async (arg) => {
const recordObject = { type: 'record' }
const savedRecord = await models.Request.create(recordObject);
if(savedRecord) {
return savedRecord;
} else {
...
}
}
Кажется, что new Date()
не вызывается при каждом create
вызове mon goose. Я не очень знаком с mon goose, поэтому я не смог найти API.
Подводя итог,
1) Как я могу сделать mon goose по умолчанию для обновляться при каждом create
или другом вызове функции?
2) Было бы лучше явно назначить свойство createdAt
до create
из mon goose? Например, код, приведенный ниже, лучше, чем выше?
import { Schema, model } from 'mongoose';
const requestSchema = new Schema({
// Remove createdAt property
...
})
export const returnRecordObject = async (arg) => {
const recordObject = { type: 'record', createdAt: moment
.tz(new Date(), 'Asia/Seoul')
.format('YYYY-MM-DD HH:mm:ss')}
const savedRecord = await models.Request.create(recordObject);
if(savedRecord) {
return savedRecord;
} else {
...
}
}