2014-02-24 4 views
8

knex로 간단한 카운트를 시도하고 있습니다 (이후 to not be supported by bookshelf yet로 보임). 다음 코드는 작동 :knex.js/bookshelf.js로 카운트 결과를 얻으십시오.

bookshelf.knex('hosts').count('id').then(function(total) { 
    res.send({ 
     meta: { 
     total: total[0]['count(`id`)'] 
     } 
    }); 
    }); 

그냥 나는 실제 결과를 얻을 수 total[0]['count('id')']을 할 필요가 있음을 나에게 이상한 것 같다. 내가 여기서 일을하고 있니?

감사합니다.

답변

9

knex.js의 모든 결과는 배열입니다. 질의는 성공적 일 수 있으며 단순히 0 개의 결과 만 반환합니다.

또한 열 이름 (또는 count() 호출)에서 직접 별칭을 지정할 수 있습니다. 이와 같이 :

여전히 첫 번째 요소를 가져와야하지만,이 열을 일반 JSON 속성으로 참조 할 수 있습니다.

+1

설명해 주셔서 감사합니다. 별칭은 내 코드를 읽기 쉽도록 만드는 좋은 방법 인 것 같습니다. – Pedro

+0

고마워, 왜 knexjs가 그렇게 이상한거야? 직접 번호를 반환하는 기본 것 같습니다. 너무 많이 물어봐도 될까요? –