55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
const taos = require("@tdengine/client");
 | 
						|
 | 
						|
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.TaosMultiBindArr(2);
 | 
						|
  tagBind.multiBindBinary(["California.SanFrancisco"]);
 | 
						|
  tagBind.multiBindInt([2]);
 | 
						|
  cursor.stmtSetTbnameTags("d1001", tagBind.getMultiBindArr());
 | 
						|
 | 
						|
  // bind values
 | 
						|
  let rows = [[1648432611249, 1648432611749], [10.3, 12.6], [219, 218], [0.31, 0.33]];
 | 
						|
 | 
						|
  let valueBind = new taos.TaosMultiBindArr(4);
 | 
						|
  valueBind.multiBindTimestamp(rows[0]);
 | 
						|
  valueBind.multiBindFloat(rows[1]);
 | 
						|
  valueBind.multiBindInt(rows[2]);
 | 
						|
  valueBind.multiBindFloat(rows[3]);
 | 
						|
  cursor.stmtBindParamBatch(valueBind.getMultiBindArr());
 | 
						|
  cursor.stmtAddBatch();
 | 
						|
 | 
						|
 | 
						|
  // execute
 | 
						|
  cursor.stmtExecute();
 | 
						|
  cursor.stmtClose();
 | 
						|
}
 | 
						|
 | 
						|
try {
 | 
						|
  prepareSTable();
 | 
						|
  insertData();
 | 
						|
} finally {
 | 
						|
  cursor.close();
 | 
						|
  conn.close();
 | 
						|
}
 |