Javascript XDB节点模块未插入数据
我刚刚开始试验influxDB和influxDB节点模块 我有以下代码,每秒插入一些随机数据。 我没有收到任何错误,但没有数据添加到我的时间序列中 代码是:Javascript XDB节点模块未插入数据,javascript,node.js,database,influxdb,Javascript,Node.js,Database,Influxdb,我刚刚开始试验influxDB和influxDB节点模块 我有以下代码,每秒插入一些随机数据。 我没有收到任何错误,但没有数据添加到我的时间序列中 代码是: var influxdb=require('influxdb'); var sleep=require(‘sleep’); var连接=流入xDB('172.21.5.67',8086); auth({name:'root',password:'root'}); var-db; var Iscsidata系列; 随机函数(低、高){ 返回M
var influxdb=require('influxdb');
var sleep=require(‘sleep’);
var连接=流入xDB('172.21.5.67',8086);
auth({name:'root',password:'root'});
var-db;
var Iscsidata系列;
随机函数(低、高){
返回Math.floor(Math.random()*(高-低)+low);
}
函数doInsert(i){
if(db==未定义){
db=connection.database('test');
log(“建立了数据库连接”);
}
if(ISCSIDataSeries==未定义){
ISCSIDataSeries=db.series('SCSIData');
log('SCSIData系列已建立');
}
变量读取=随机(1000,10000);
var写入=随机(2000,20000);
var IOS=随机(100000,1000000);
ISCSIDataSeries.writePoints({
“列”:[“卷”、“读”、“写”],
“点”:[读、写、操作系统]
});
db.save();
}
var i=0;
而(i<10){
睡眠。睡眠(1);
多因塞特(一);
i++;
}
log('so long people');
在运行结束时,我没有看到输入数据。
有使用这个软件包的经验吗?我是XDB的维护人员之一。我们不使用node,所以我不熟悉该库,但我尝试了您的代码片段,但它确实不起作用。事实证明,
influxdb
库不是最新的,上一次更新是在四个月前,在此期间influxdb api经历了重大更改。我建议您改为使用更积极维护的。我修改了您的代码片段以与其他软件包一起使用,它成功地工作了:
var influxdb = require('influx');
var sleep = require('sleep');
var root = new influxdb.InfluxDB('localhost', 8086, 'root', 'root');
root.createDatabase('SCSIData', function(err) {
if (err && err.message.indexOf("exist") == -1) {
console.log("Cannot create db", err);
process.exit(1);
};
var client = new influxdb.InfluxDB('localhost', 8086, 'root', 'root', 'SCSIData');
function random (low, high) { return Math.floor(Math.random() * (high - low) + low); }
function doInsert(i) {
var reads = random(1000, 10000);
var writes = random(2000, 20000);
var IOS = random(100000, 1000000);
client.writePoint("series.name", {
'Volume': IOS,
'Reads': reads,
'Writes': writes
}, function(err) {
if (err) {
console.log("Cannot write data", err);
process.exit(1);
}
});
}
var i = 0;
while (i < 10) {
doInsert(i);
i++;
}
client.query("select count(Reads) from series.name", function(err, result) {
if (err) {
console.log("Cannot write data", err);
}
console.log("result", result)
console.log("Number of points: ", result[0].points[0][1]);
})
});
console.log('so long folks');
var influxdb=require('influx');
var sleep=require(‘sleep’);
var root=newinfluxdb.influxdb('localhost',8086,'root','root');
root.createDatabase('SCSIData',函数(err){
if(err&&err.message.indexOf(“存在”)=-1){
log(“无法创建数据库”,错误);
过程。退出(1);
};
var client=newinfluxdb.influxdb('localhost',8086','root','root','SCSIData');
函数random(low,high){返回Math.floor(Math.random()*(high-low)+low);}
函数doInsert(i){
变量读取=随机(1000,10000);
var写入=随机(2000,20000);
var IOS=随机(100000,1000000);
client.writePoint(“series.name”{
“卷”:IOS,
“读”:读,
“写入”:写入
},函数(err){
如果(错误){
console.log(“无法写入数据”,错误);
过程。退出(1);
}
});
}
var i=0;
而(i<10){
多因塞特(一);
i++;
}
query(“从series.name中选择计数(读取)”,函数(err,result){
如果(错误){
console.log(“无法写入数据”,错误);
}
日志(“结果”,结果)
console.log(“点数:”,结果[0]。点数[0][1]);
})
});
log('so long people');
我是XDB的维护者之一。我们不使用node,所以我不熟悉该库,但我尝试了您的代码片段,但它确实不起作用。事实证明,influxdb
库不是最新的,上一次更新是在四个月前,在此期间influxdb api经历了重大更改。我建议您改为使用更积极维护的。我修改了您的代码片段以与其他软件包一起使用,它成功地工作了:
var influxdb = require('influx');
var sleep = require('sleep');
var root = new influxdb.InfluxDB('localhost', 8086, 'root', 'root');
root.createDatabase('SCSIData', function(err) {
if (err && err.message.indexOf("exist") == -1) {
console.log("Cannot create db", err);
process.exit(1);
};
var client = new influxdb.InfluxDB('localhost', 8086, 'root', 'root', 'SCSIData');
function random (low, high) { return Math.floor(Math.random() * (high - low) + low); }
function doInsert(i) {
var reads = random(1000, 10000);
var writes = random(2000, 20000);
var IOS = random(100000, 1000000);
client.writePoint("series.name", {
'Volume': IOS,
'Reads': reads,
'Writes': writes
}, function(err) {
if (err) {
console.log("Cannot write data", err);
process.exit(1);
}
});
}
var i = 0;
while (i < 10) {
doInsert(i);
i++;
}
client.query("select count(Reads) from series.name", function(err, result) {
if (err) {
console.log("Cannot write data", err);
}
console.log("result", result)
console.log("Number of points: ", result[0].points[0][1]);
})
});
console.log('so long folks');
var influxdb=require('influx');
var sleep=require(‘sleep’);
var root=newinfluxdb.influxdb('localhost',8086,'root','root');
root.createDatabase('SCSIData',函数(err){
if(err&&err.message.indexOf(“存在”)=-1){
log(“无法创建数据库”,错误);
过程。退出(1);
};
var client=newinfluxdb.influxdb('localhost',8086','root','root','SCSIData');
函数random(low,high){返回Math.floor(Math.random()*(high-low)+low);}
函数doInsert(i){
变量读取=随机(1000,10000);
var写入=随机(2000,20000);
var IOS=随机(100000,1000000);
client.writePoint(“series.name”{
“卷”:IOS,
“读”:读,
“写入”:写入
},函数(err){
如果(错误){
console.log(“无法写入数据”,错误);
过程。退出(1);
}
});
}
var i=0;
而(i<10){
多因塞特(一);
i++;
}
query(“从series.name中选择计数(读取)”,函数(err,result){
如果(错误){
console.log(“无法写入数据”,错误);
}
日志(“结果”,结果)
console.log(“点数:”,结果[0]。点数[0][1]);
})
});
log('so long people');
非常感谢您。这确实有效,我将切换到这个包。我使用了这个代码。但它不能连接到XDB?非常感谢。这确实有效,我将切换到这个包。我使用了这个代码。但是它不能连接到influxdb?有一篇关于如何从influxdb开始的好文章。有一篇关于如何从influxdb开始的好文章。