2

https://godoc.org/github.com/relops/cqlc/cqlc#Fetchableに記載されている gocql ライブラリを使用しており、golangですべての要素を要求する API 呼び出しを記述しようとしています。特定のフィールドを満たし、返された要素の総数を返すデータベース。Cassandra インターフェイスにいるときはSELECT COUNT(*) from table1 WHERE ...;、table1 がテーブル名である呼び出しを使用できることを知っています。私はドキュメントを調べてきましたが、返されるエントリの数を制限する limit 関数しか見つかりませんでした。

たとえば、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 関数は、「日」に発生したイベントの配列を返しますが、イベント自体ではなく、イベントの数だけが必要です。この配列を繰り返し処理せずにこれを取得する方法はありますか? とにかく配列を破棄するので、データベースからデータの配列全体を取得するのが非常に遅くなります。

私はこれについて初心者なので、さらに情報が必要な場合はお尋ねください。できるだけ具体的にしようとしました。ありがとう。

4

3 に答える 3