У меня есть сервер API, основанный на nodejs, подключенный к базе данных MySQL с помощью пакета knex npm для действий с базой данных (CRUD), и выражение для обработки запросов и ответов,
представьте, что у меня есть файл контроллера, которыйделая вставку в базу данных:
внутри этого файла я получаю home_name как req.body и генерирую новый идентификатор и вставляю его в базу данных:
.. / controller / home.controller.js
var idGenerator = require('../utils/idGenerator');
var home = {
id: idGenerator.generateID(),
name: req.body.name
};
, а generateID
- это экспортируемая функция, которая проверяет последний сгенерированный идентификатор в базе данных, и если он есть, то +1 и возврат в противном случае генерируют новый случайный.
.. / utils / idGenerator.js
function generateID() {
knex('home').select("max(id)" as lastID)
.then((lastID) => {
if (lastID) {
return parseInt(lastID) + 1;
} else {
//Generate new ID and return
}
})
}
module.exports.generateID = generateID
id: idGenerator.generateID
не определено
Как решить эту проблему?