Последовательность чтения данных из создания и уменьшения

0

Как я читал в этой статье. Выражение функции приращения функции приращения

Я сделал следующий код:

exports.create = function (req, res) {
models.sparepart_request.create({
    codWO: req.body.codWO,
    codSparePart: req.body.codSparePart,
    quantity: req.body.quantity,
    date_request: req.body.date_request,
    codUser: req.body.codUser,
    request_return: req.body.request_return,
    received: req.body.received
}).then(function (item) {
    return models.sparepart.decrement(
        'stock', {
            by: req.body.quantity,
            where: {
                codSparePart: req.body.codSparePart
            }
        }
    );
}).then(function (item) {
    res.status(200);
    res.json(({
        success: true,
        message: 'Query successful',
        data: item //This is null, I need the values from creating
    }));
}).catch(function (error) {
    logger.error(JSON.stringify(error));
    res.json({
        success: false,
        message: 'Query not successful and error has occured cretaing',
        error: error,
        stackError: error.stack
    });
    return res.status(500);
});

Проблема заключается в следующем:

Мой ответ JSON следующий:

{
"success": true,
"message": "Query successful",
"data": [
    [
        null,
        1
    ]
]
}

Как я могу принять значение элемента create?

ПРИМЕЧАНИЕ. Я попытался выполнить транзакцию, но всегда возвращаю ошибку или останавливается и дает ошибку Time Out. Я не знаю, как сделать транзакцию с экземпляром.

Теги:
express
sequelize.js

1 ответ

1

Ты можешь использовать:

returning: true, // to get updated data back

Чтобы получить результат от обновления, уничтожить и другую функцию, где он просто возвращает количество затронутых строк, например

return models.sparepart.decrement(
    'stock', {
        by: req.body.quantity,
        where: {
            codSparePart: req.body.codSparePart
        }
        returning: true, // to get updated data back
        plain: true, // for plain object and not raw data
    }
);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню