Keystonejs получает значение id - PullRequest
0 голосов
/ 18 февраля 2019

Я использую метод updateItem для сохранения новой записи.Ниже приведен пример кода:

var vv = new vvmodel.model();
vvmodel.updateItem(vv, obj, function (error) {
  if(error)
    console.log('error :: ', error);
});

Это не отправка какого-либо объекта, из которого мы могли бы вставить id записи.Как мы можем получить вставленный идентификатор записи?

Спасибо

1 Ответ

0 голосов
/ 05 марта 2019

вы должны использовать обработчик обновления в keystoneJs

как только updateHandler.process запустится без ошибок, вы можете получить доступ к полю .id в vv

var vv = new vvmodel.model({
    // .... initial fields
}),

var updater = vv.getUpdateHandler(req, res, {
    errorMessage: 'There was an error creating your new model:'
});

updater.process(req.body, {
    flashErrors: true,
    logErrors: true,
    fields: 'field1, field2, field3'
}, function(err) {
    if (err) {
        locals.validationErrors = err.errors;
    } else {
        req.flash('success', 'Your model has been added');
        return res.redirect('/vv/detail/' + vv.id); // here you can access the id if request was successful.
    }
    next();
});

см. более подробный пример использования с источником сайта sydjs

...