1

node-js プロジェクトで使用helenusして、cassandra で値を取得/設定しています。テーブル内に MapType フィールドがありますが、テーブルから値を取得すると、空のキーと値のセットが取得されます。

以下は私のテーブルのスキーマです

CREATE TABLE datapoints (
  id uuid PRIMARY KEY,
  created_at timestamp,
  properties map<text,text>
);

cql以下のクエリを使用して値を挿入しました

INSERT INTO datapoints (id, properties) VALUES (24053e20-63e9-11e3-8d81-0002a5d5c51b, { 'fruit' : 'apple', 'band' : 'Beatles' });

以下は私のnodejsコードです:

var helenus = require('/usr/local/lib/node_modules/helenus')
var pool = new helenus.ConnectionPool({
    hosts      : ['localhost:9160'],
    keyspace   : 'mykeyspace',
    timeout    : 3000
  });
pool.connect(function(err, keyspace){
  if(err){
    console.log("connect me error")
    throw(err);
  } else {
    pool.cql("SELECT * FROM datapoints", [], function(err,results){
      console.log("results", results)
      results.forEach(function(row){
        props = row.get('properties').value;
        var id = row.get('id').value;
        console.log("properties", props);
        console.log("id", id);
      });
    })
  }
});

この行console.log("properties", props);は関数を返します。その関数を呼び出すと、空のキー値セットが取得されます。助けてください。

4

1 に答える 1

1

コレクション型の逆シリアル化に問題があったようです。過去に行われたプルリクエストにより、デシリアライズが壊れました。これを処理するバージョンに修正をプッシュしました0.6.8

于 2013-12-15T19:23:16.430 に答える