58 lines
1.2 KiB
JavaScript
58 lines
1.2 KiB
JavaScript
const taos = require("td2.0-connector");
|
|
|
|
const conn = taos.connect({
|
|
host: "localhost",
|
|
});
|
|
|
|
const cursor = conn.cursor();
|
|
|
|
function prepareSTable() {
|
|
cursor.execute("CREATE DATABASE power");
|
|
cursor.execute("USE power");
|
|
cursor.execute(
|
|
"CREATE STABLE meters (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT) TAGS (location BINARY(64), groupId INT)"
|
|
);
|
|
}
|
|
|
|
function insertData() {
|
|
// init
|
|
cursor.stmtInit();
|
|
// prepare
|
|
cursor.stmtPrepare(
|
|
"INSERT INTO ? USING meters TAGS(?, ?) VALUES(?, ?, ?, ?)"
|
|
);
|
|
|
|
// bind table name and tags
|
|
let tagBind = new taos.TaosBind(2);
|
|
tagBind.bindBinary("California.SanFrancisco");
|
|
tagBind.bindInt(2);
|
|
cursor.stmtSetTbnameTags("d1001", tagBind.getBind());
|
|
|
|
// bind values
|
|
let rows = [
|
|
[1648432611249, 10.3, 219, 0.31],
|
|
[1648432611749, 12.6, 218, 0.33],
|
|
];
|
|
for (let row of rows) {
|
|
let valueBind = new taos.TaosBind(4);
|
|
valueBind.bindTimestamp(row[0]);
|
|
valueBind.bindFloat(row[1]);
|
|
valueBind.bindInt(row[2]);
|
|
valueBind.bindFloat(row[3]);
|
|
cursor.stmtBindParam(valueBind.getBind());
|
|
cursor.stmtAddBatch();
|
|
}
|
|
|
|
// execute
|
|
cursor.stmtExecute();
|
|
cursor.stmtClose();
|
|
}
|
|
|
|
try {
|
|
prepareSTable();
|
|
insertData();
|
|
} finally {
|
|
cursor.close();
|
|
conn.close();
|
|
}
|