Tag: cassandra

Cassandra nodejs DataStax驱动程序不会通过准备好的语句执行返回新添加的列

在模式中添加一对列后,我想通过select *select它们。 相反, select *返回旧的一组列,并没有新的。 通过文档build议,我使用{prepare:true}来平滑JavaScript浮点数和Cassandra ints / bigints的区别(我并不真的需要准备好的语句,只是解决了这个ResponseError:期望的4或0字节的int问题,我也不想打扰自己的query hints )。 所以在第一次执行select *我有3列。 在此之后,我添加了2列到架构。 select *仍然返回3列,如果使用{prepare: true}和5列(如果没有使用它)。 我想有一个方法来可靠地刷新这个caching或使cassandra驱动程序准备在每个应用程序启动语句。 我不认为重新启动数据库集群是一个可靠的方法。

如何在Cassandra nodejs-driver中打印结束查询?

我正在寻找在Cassandra nodejs-driver中打印结束查询的方式,即在绑定了所有参数之后的CQLstring,以便我可以debugging并查看Cassandra引擎的实际值。 这个怎么做? var query = ' select * from shahid.tbl_raw_data where yymmddhh = ? limit ? '; var params = [last_yymmddhh_value, settings.records_per_batch]; client.execute(query, params, {prepare: true}, function(err, result) { console.log( result ); }); 我想得到这样的string select * from shahid.tbl_raw_data where yymmddhh = '15010101' limit 100 注意:这是一个简单的例子,我实际上是在循环中处理非常复杂的查询,所以我不想做console.log(last_yymmddhh_value)来查看绑定值。

Cassandra + nodejs:如何获得密钥空间和表?

我正在尝试从Cassandra集群中获取元数据,密钥空间,表。 我正在使用下面的node.js代码: var express = require('express'); var bodyParser = require('body-parser'); var cassandra = require('cassandra-driver'); var client = new cassandra.Client( { contactPoints : [ '127.0.0.1' ] } ); client.connect(function(err, result) { console.log('Connected To the Database.'); }); var app = express(); app.use(bodyParser.json()); app.set('json spaces', 2); app.get('/metadata', function(req, res) { res.send(client.hosts.slice(0).map(function (node) { return { address : node.address, […]

如何从UUID v1(TimeUUID)使用JavaScript提取时间戳?

我使用Cassandra DB和Helenus模块来控制nodejs。 我有一些包含TimeUUID列的行。 如何从JavaScript中的TimeUUID获取时间戳?

比较Node.js中的两个uuids

我有一个问题,我无法在网上find任何答案。 我在Node.js和Cassandra的Web应用程序上工作。 我目前正在制定一个通知系统,我必须比较两个uuids,以确保我不会将通知发送给做出原始操作(引发通知)的人员。 问题是,当我比较两个应该是平等的uuids,我总是得到一个错误的价值。 这里是我目前正在使用的代码示例: console.log('user_id :', user_id.user_id); console.log("user id of the current user :", this.user_id); console.log(user_id.user_id == this.user_id); console.log(user_id.user_id === this.user_id); 这里是结果的显示: user_id : Uuid: 29f1227d-58dd-4ddb-b0fa-19b7fc02fbe8 user id of the current user : Uuid: 29f1227d-58dd-4ddb-b0fa-19b7fc02fbe8 false false user_id : Uuid: c8f9c196-2d63-4cf0-b388-f11bfb1a476b user id of the current user : Uuid: 29f1227d-58dd-4ddb-b0fa-19b7fc02fbe8 false false 正如你所看到的,第一个uuids应该是一样的。 它们是使用nodejs […]

如何使用Cassandra手动分页导航到上一页

我正在使用Nodejs Cassandra驱动程序,我希望能够检索上一页和下一页。 到目前为止, 文档显示了下一页的检索,它保存了pageState并将其作为parameter passing。 可悲的是,没有关于如何导航到前一页的信息。 正如我所看到的,有两个select: 将每个pageState和page保存为一个键值对,并使用pageState作为要导航到的页面。 将检索到的数据保存到数组中,并使用该数组导航到上一页。 (我不认为这是一个好的解决scheme,因为我将不得不将大块数据存储在内存中。) 这两种方法似乎都不是一个优雅的解决scheme,但如果我必须select,我会使用第一个。 有没有办法使用Nodejs Cassandra驱动程序开箱即用? 另一件事是在文档中通过调用eachRow函数来使用手动分页。 如果我正确地理解它,它会在你从数据库中获得红色后立即给你。 问题是这是在我的API中实现的,我正在返回HTTP响应中当前页面的数据。 所以为了让我这样做,我将不得不推动每一行到自定义数组,然后返回当前页面的数据检索数组。 有没有办法使用手动分页的execute ,因为上面看起来多余? 谢谢 编辑: 这是我的数据模型: CREATE TABLE store_customer_report ( store_id uuid, segment_id uuid, report_time timestamp, sharder int, customer_email text, count int static, first_name text, last_name text, PRIMARY KEY ((store_id, segment_id, report_time, sharder), customer_email) ) WITH CLUSTERING ORDER BY […]

ResponseError:期望4或0字节int

我正在尝试cassandra节点驱动程序,并插入一条logging卡在问题,它看起来像cassandra驱动程序无法插入浮点值。 Problem: When passing int value for insertion in db, api gives following error: Debug: hapi, internal, implementation, error ResponseError: Expected 4 or 0 byte int (8) at FrameReader.readError (/home/gaurav/Gaurav-Drive/code/nodejsWorkspace/cassandraTest/node_modules/cassandra-driver/lib/readers.js:291:13) at Parser.parseError (/home/gaurav/Gaurav-Drive/code/nodejsWorkspace/cassandraTest/node_modules/cassandra-driver/lib/streams.js:185:45) at Parser.parseBody (/home/gaurav/Gaurav-Drive/code/nodejsWorkspace/cassandraTest/node_modules/cassandra-driver/lib/streams.js:167:19) at Parser._transform (/home/gaurav/Gaurav-Drive/code/nodejsWorkspace/cassandraTest/node_modules/cassandra-driver/lib/streams.js:101:10) at Parser.Transform._read (_stream_transform.js:179:10) at Parser.Transform._write (_stream_transform.js:167:12) at doWrite (_stream_writable.js:225:10) at writeOrBuffer (_stream_writable.js:215:5) at Parser.Writable.write (_stream_writable.js:182:11) at […]

Meteor.js可能与Cassandra而不是MongDB?

我正在创build一个客户支持系统的项目的开始。 对于这个系统我看了Meteor.js ,看起来很有趣。 关键是我们想用Cassandra来构build我们系统的其余部分。 所以我的问题如下: meteor.js也可以用于Cassandra而不是MongoDB ? 是否有任何准备好的代码片段来做到这一点,还是我们需要自己编写大量的兼容性代码?

在CQL查询中更改Helenus一致性级别

我正在用Cassandra和Node.JS驱动程序Helenus做一些testing。 有没有办法改变一个查询的一致性级别,使用CQL? Helenus文档仅显示使用Helenus Thrift连接器执行此操作的示例,但我想使用CQL连接器。 我试图像这样查询Cassandra conn.cql(cqlRead, vals, {ConsistencyLevel:ANY, gzip:true}, cb); 但节点抛出这个错误 ReferenceError: ANY is not defined 然后,我将“ANY”更改为“1”,节点运行代码,但没有发现任何差异。

node.js node-cassandra-client请求失败

当我试图查询Cassandra服务器时,遇到同样的问题。 我有npm安装node-cassandra-client版本0.9.5。 var Connection = require('cassandra-client').PooledConnection; var hosts = ['host1:9160','host2:9160']; var cassandra = new Connection({'hosts': hosts, 'keyspace': 'keyspace'}); cassandra.on('log', function(level, message, obj) { console.log('log event: %s — %j', level, message); }); var cql = "SELECT * FROM columnFamily LIMIT 1"; cassandra.execute(cql, function(err, rows) { if(err) console.log("erreur à la requete"); console.log(rows); cassandra.shutdown(function() { console.log("connectoin pool shutdown"); […]