Ответ 1
Все результаты от knex.js являются массивами. Запрос может быть успешным и просто вернуть 0 результатов.
Кроме того, вы можете псевдоним столбца непосредственно в имени столбца (или count()
вызов). Вот так:
bookshelf.knex('hosts').count('id as CNT').then(function(total) {
res.send({
meta: {
total: total[0].CNT
}
});
});
По-прежнему нужно получить первый элемент, но вы можете ссылаться на столбец как на обычное свойство JSON.