2016-06-13 2 views
2

여기에 설명되어있는 gocql 라이브러리를 사용하고 있습니다 : https://godoc.org/github.com/relops/cqlc/cqlc#Fetchable이고 golang에서 API 호출을 작성하려고합니다.이 호출은 내 데이터베이스의 모든 요소 특정 필드를 수행하고 반환 된 요소의 총 개수를 반환합니다. Cassandra 인터페이스에있을 때 전화 번호 SELECT COUNT(*) from table1 WHERE ...;을 사용할 수 있습니다. 여기서 table1은 테이블 이름입니다. 설명서를 살펴 보았습니다. 반환되는 항목 수를 제한하는 제한 기능이 있습니다.gocql을 사용하여 쿼리에 의해 반환 된 행 수를 얻는 방법

예를 들어 나는 다른 날에 일어나는 Cassandra의 이벤트 데이터베이스 테이블을 가지고 있다고 가정 해 보겠습니다. 나는 단지 화요일에 일어나는 이벤트의 숫자를 반환하기를 원하며 gocql을 사용하여 이것을하고 싶다.

cx := cqlc.NewContext() 
iter, err := cx.Select(). 
      From(db.EVENTLOG). 
      Where(db.EVENTLOG.DAY.Eq(day). 
      Limit(10000).  
      Fetch(cass) 
data, err = db.BindEventlog(iter) 

BindEventLog 기능은 '일'에 일어날 그러나 다시, 난 그냥 이벤트의 수가 아니라 이벤트 자체를 원하는 이벤트의 배열을 반환

현재 내가 좋아하는 뭔가. 이 배열을 반복하지 않고이 방법을 사용할 수있는 방법이 있나요? 어쨌든 배열을 버리므로 데이타베이스 전체 배열을 얻는 것이 정말 느려지니까요.

저는이 초보자이므로 더 자세한 정보가 필요하면 가능한 구체적으로 작성하려고 노력했습니다. 감사. 그들은 당신이 찾고있는 무엇을 제공하지 않습니다 행 페이지를 매기는 경우 나는 그 당신을 도울 것이다 찾을 수

+1

API에서 집계 지원이 전혀 표시되지 않습니다. =/ – BadZen

답변

1

가장 가까운 것은 Iter.NumRows

입니다. 그들이하는 경우, 이것은 Github에서 요청할 수있는 합리적인 기능입니다.

+0

감사합니다. NumRows도 보았지만 반복 할 필요가 없었습니다. 나는 이미 개발자들과 접촉했다. 나는이 기능을 요구하고있다. – user6407048

+0

@ user6407048 같은 해결책을 찾았습니까? 나는 현재 그것을 조사하고있다. 쿼리의 총 행 수를 얻고 싶습니다. – Tanny

관련 문제