問題タブ [gocql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pointers - スキャンが機能しない
私のスキャンは宛先変数を更新していません。私はそれを次のように動作させました:
しかし、私はそれが私が望むように機能しているとは思わない.
両方のログ メッセージはまったく同じExisting obj &{ 0 0 0 0 0 0 0 0 0 0 0 0}
です (スペースは文字列フィールドです)。これは、新しいオブジェクトを生成するためにリフレクションを頻繁に使用するためですか? 彼らのドキュメントではvar ValueName type
、目的地を定義するために使用する必要があると書かれていますが、リフレクションではそれを行うことができないようです。これはばかげているかもしれませんが、これをさらにデバッグする方向に私を向けるだけでも素晴らしいでしょう。私の囲碁のスキルはかなり不足しています!
go - PageSize 使用時の SliceMap
ページングを実装しようとしていますが、SliceMap を PageSize で使用すると、すべての行が取得されます。なぜ、何をすべきか知っていますか?
注: CQL 列名によってキー設定された行マップが必要です。
go - Cassandra に挿入する値としてマップを渡す
Cassandra データベースにマップ値を挿入しようとしています。Go を使用してクライアントを作成しています。現在、「文字列をマップ(varchar、varchar)にマーシャリングできません」というエラーがスローされます。エラーの内容は理解できますが、解決できません。これが私が書いたコードです。
私が得られないのは、1 つのクエリを途切れのない文字列全体として記述したことであり、このエラーをスローすることなく正常に動作します。それでも、疑問符でそれを分解すると、エラーがスローされます。これは私が見落としていて、ドキュメントで見つけることができなかった単純なものであることは知っていますが、どんな助けでも大歓迎です。
cassandra - ページングの大きなクエリ: 総数
カサンドラとページングについて。私は答えを推測するかもしれませんが、念のために言っておきます。
ページサイズを求める方法は知っていますが、クエリの最終的な合計数を取得することはできますか? ページサイズ 10 でクエリselect * from tableName
を実行したように、ページングを使用しなかった場合は 100 になります。ページサイズ 10 を使用すると、100 という数値を取得できますか?
注: 用途があれば、私は を使用してgocql
います。
cassandra - cassandra lastupdated(auto_now)、lastaccessed および created(auto_now_add)
列の作成と最終更新/アクセスのタイムスタンプを自動更新する方法はありますか?
関数を使用toTimestamp(now())
して作成時間を保存できます。writetime(name)
しかし、最終更新時刻を取得するために使用される のような関数はありますか? 作成時間とアクセス時間を読み取る同様の機能はありますか?
3 つのタイムスタンプをすべて取得する方法はありますかlastupdated
/lastaccessed
およびcreated
タイムスタンプを自動生成して保存する方法はありますか?
go - gocql を使用してクエリによって返される行数を取得する方法
https://godoc.org/github.com/relops/cqlc/cqlc#Fetchableに記載されている gocql ライブラリを使用しており、golangですべての要素を要求する API 呼び出しを記述しようとしています。特定のフィールドを満たし、返された要素の総数を返すデータベース。Cassandra インターフェイスにいるときはSELECT COUNT(*) from table1 WHERE ...;
、table1 がテーブル名である呼び出しを使用できることを知っています。私はドキュメントを調べてきましたが、返されるエントリの数を制限する limit 関数しか見つかりませんでした。
たとえば、Cassandra にさまざまな日に発生するイベントのデータベース テーブルがあるとします。火曜日に行われるイベントの数を返したいだけで、gocql を使用してこれを実行したいと考えています。
現在、私は次のようなことをしています:
BindEventLog 関数は、「日」に発生したイベントの配列を返しますが、イベント自体ではなく、イベントの数だけが必要です。この配列を繰り返し処理せずにこれを取得する方法はありますか? とにかく配列を破棄するので、データベースからデータの配列全体を取得するのが非常に遅くなります。
私はこれについて初心者なので、さらに情報が必要な場合はお尋ねください。できるだけ具体的にしようとしました。ありがとう。
go - 接続プールをサポートする Golang cassandra クライアント
gocql
( https://github.com/gocql/gocql ) ドライバーを使用して、golang サーバーから Cassandra に接続しています。http リクエストごとに、新しいセッションを作成し、cassandra に行を挿入しています。リクエストごとにセッションを作成するのは、非常にリソースを消費すると感じています。
典型的なコード
接続をプールする方法gocql
や、golang 用の他の cassandra ドライバーはありますか?