Чистая реализация версий / истории изменений в Mongoose - PullRequest
2 голосов
/ 10 сентября 2011

Я пытаюсь реализовать способ создания записи (Update) при внесении изменений в документ MongoDB через Mongoose / Node.js / Express. Я новичок в Node.js, поэтому мне было интересно, как лучше всего это сделать.

Я думаю, что запись выглядит примерно так:

update: {
    before: { ... },
    after:  { ... },
    created_at: Date,
};

Я знаю, что можно настроить функцию pre, которая вызывается при вызове другого метода, например save.

Entry.pre('save', function(next) {
    // create an Update record
    next();
});

Проблема в том, что я не уверен, как определить, что было изменено в операции save, поэтому сложно создать список обновленных значений.

Кто-нибудь может придумать, как это сделать?

1 Ответ

4 голосов
/ 19 сентября 2011

Возможно, вы захотите посмотреть на источник Model.js .В прототипе модели есть две функции, которые должны вам помочь._dirty () и _delta ()

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