Node.js连接器的使用参见

    安装Node.js连接器

    用户可以通过来进行安装,也可以通过源代码src/connector/nodejs/ 来进行安装。具体安装步骤如下:

    首先,通过npm安装node.js 连接器.

    我们建议用户使用npm 安装node.js连接器。如果您没有安装npm, 可以将src/connector/nodejs/拷贝到您的nodejs 项目目录下

    我们使用和TDengine服务端进行交互。安装node.js 连接器之前,还需安装以下软件:

    • node 2.0.6支持v12.x和v10.x,2.0.5及更早版本支持v10.x版本,其他版本可能存在包兼容性的问题。
    • make
    • c语言编译器比如GCC

    Windows

    安装方法1

    使用微软的在cmd 命令行界面执行npm install --global --production windows-build-tools 即可安装所有的必备工具

    安装方法2

    手动安装以下工具:

    • 安装Visual Studio相关:Visual Studio Build 工具 或者
    • 安装 Python 2.7(v3.x.x 暂不支持) 并执行 npm config set python python2.7
    • 进入cmd命令行界面, npm config set msvs_version 2017

    如果以上步骤不能成功执行, 可以参考微软的node.js用户手册

    如果在Windows 10 ARM 上使用ARM64 Node.js, 还需添加 “Visual C++ compilers and libraries for ARM64” 和 “Visual C++ ATL for ARM64”.

    Node-example.js node.js示例源程序 Node-example-raw.js

    安装验证

    在安装好TDengine客户端后,使用nodejsChecker.js程序能够验证当前环境是否支持nodejs方式访问Tdengine。

    验证方法:

    1. 新建安装验证目录,例如:~/tdengine-test,拷贝github上nodejsChecker.js源程序。下载地址:(https://github.com/taosdata/TDengine/tree/develop/tests/examples/nodejs/nodejsChecker.js)。

    2. 在命令中执行以下命令:

    1. npm init -y
    2. npm install td2.0-connector
    3. node nodejsChecker.js host=localhost
    1. 执行以上步骤后,在命令行会输出nodejs连接Tdengine实例,并执行简答插入和查询的结果。

    以下是node.js 连接器的一些基本使用方法,详细的使用方法可参考

    建立连接

    使用node.js连接器时,必须先require td2.0-connector,然后使用 taos.connect 函数。 函数必须提供的参数是host,其它参数在没有提供的情况下会使用如下的默认值。最后需要初始化cursor 来和TDengine服务端通信

    1. const taos = require('td2.0-connector');
    2. var conn = taos.connect({host:"127.0.0.1", user:"root", password:"taosdata", config:"/etc/taos",port:0})
    3. var cursor = conn.cursor(); // Initializing a new cursor

    关闭连接可执行

    执行SQL和插入数据

    对于DDL语句(例如create database、create table、use等),可以使用cursor的execute方法。代码如下:

      对于Insert语句,代码如下:

      1. var affectRows = cursor.execute('insert into test.weather values(now, 22.3, 34);')

      execute方法的返回值为该语句影响的行数,上面的sql向test库的weather表中,插入了一条数据,则返回值affectRows为1。

      TDengine目前还不支持update和delete语句。

      查询

      可通过 cursor.query 函数来查询数据库。

      查询的结果可以通过 query.execute() 函数获取并打印出来

      1. var promise = query.execute();
      2. promise.then(function(result) {
      3. result.pretty();
      4. });

      格式化查询语句还可以使用querybind方法。如下面的示例:query会自动将提供的数值填入查询语句的里。

      1. var query = cursor.query('select * from meterinfo.meters where ts <= ? and areaid = ?;').bind(new Date(), 5);
      2. query.execute().then(function(result) {
      3. result.pretty();
      4. })

      如果在query语句里提供第二个参数并设为true也可以立即获取查询结果。如下:

      异步函数

      异步查询数据库的操作和上面类似,只需要在cursor.execute, TaosQuery.execute等函数后面加上_a

      1. var promise1 = cursor.query('select count(*), avg(v1), avg(v2) from meter1;').execute_a()
      2. var promise2 = cursor.query('select count(*), avg(v1), avg(v2) from meter2;').execute_a();
      3. promise1.then(function(result) {
      4. result.pretty();
      5. })
      6. promise2.then(function(result) {

      示例

      node-example.js提供了一个使用NodeJS 连接器建表,插入天气数据并查询插入的数据的代码示例