Дата обновления внутри схемы mon goose каждый раз - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь обновить lastMessageAt каждый раз, когда [messageSchema] обновляется.

Так не работает. I Единственная дата, которая генерируется, когда messageSchema заполнена самым первым объектом.

Как мне решить эту проблему?

Заранее спасибо!

const chatSchema = new mongoose.Schema({
  userName1: String,
  userName2: String,
  messages: [messageSchema],
  lastMessageAt: {
    type: Date,
    default: Date.now
  }
});

Ответы [ 2 ]

0 голосов
/ 16 января 2020

обнаружил, что mon goose теперь имеет встроенные метки времени, и они используются так:

const chatSchema = new mongoose.Schema(
  {
    userName1: String,
    userName2: String,
    messages: [messageSchema]
  },
  { timestamps: true }
);
0 голосов
/ 16 января 2020

Вы можете использовать промежуточное ПО mongooses.

chatSchema.post('save', function(next) {
  if (this.isModified('messages')) {
    this.lastMessageAt = Date.now();
  }
  next();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...