3

NodeJS Cassandra ドライバーを使用して、Cassandra timeuuid 列からデータを取得しています。データが文字列型ではなくバッファ型として取得されるようになりました。文字列型のデータが必要です

4

1 に答える 1

2

何を期待しているのかを理解するのはまだ難しいですが、これPostedDateにより、より読みやすい形式で返されます。

SELECT DateOf(PostedDate) FROM facehq.timeline;

また、データのサイズが大きくなるにつれて、バインドされていないクエリが問題になり、遅くなります。したがって、このようなクエリは、可能な限り WHERE 句で修飾してください。

"posteddate":"f6ca25d0-ffa4-11e4-830a-b395dbb548cd" のような結果が必要です。

あなたの問題はあなたのnode.jsコードにあるように思えます。クエリをどのように実行していますか? GitHub プロジェクト ページのNode.js ドライバー ドキュメントには、役立つ例があります。

client.stream('SELECT time, val FROM temperature WHERE station_id=', ['abc'])
  .on('readable', function () {
    //readable is emitted as soon a row is received and parsed
    var row;
    while (row = this.read()) {
      console.log('time %s and value %s', row.time, row.val);
    }
  })
  .on('end', function () {
    //stream ended, there aren't any more rows
  })
  .on('error', function (err) {
    //Something went wrong: err is a response error from Cassandra
  });

DataStax のドキュメントには、timeUUID を操作するための具体的な例もあります。

client.execute('SELECT id, timeid FROM sensor', function (err, result) {
    assert.ifError(err);
    console.log(result.rows[0].timeid instanceof TimeUuid); // true
    console.log(result.rows[0].timeid instanceof Uuid); // true, it inherits from Uuid
    console.log(result.rows[0].timeid.toString());      // <- xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    console.log(result.rows[0].timeid.getDate());       // <- Date stored in the identifier
});
于 2015-09-01T14:05:08.503 に答える