Node.js Connector

TDengine 同时也提供了node.js 的连接器。用户可以通过npm来进行安装,也可以通过源代码src/connector/nodejs/ 来进行安装。具体安装步骤如下

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

  1. npm install td-connector

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

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

Unix

  • python (建议v2.7 , v3.x.x 目前还不支持)
  • make
  • c语言编译器比如GCC

macOS

  • python (建议v2.7 , v3.x.x 目前还不支持)

  • Xcode

  • 然后通过Xcode安装

    1. Command Line Tools

    1. Xcode -> Preferences -> Locations

    目录下可以找到这个工具。或者在终端里执行

    1. xcode-select --install
    • 该步执行后 gccmake就被安装上了

Windows

安装方法1

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

安装方法2

手动安装以下工具:

如果以上步骤不能成功执行, 可以参考微软的node.js用户手册Microsoft’s Node.js Guidelines for Windows

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

使用方法

(http://docs.taosdata.com/node) 以下是node.js 连接器的一些基本使用方法,详细的使用方法可参考该文档

连接

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

  1. const taos = require('td-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

关闭连接可执行

  1. conn.close();

查询

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

  1. var query = cursor.query('show databases;')

查询的结果可以通过 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也可以立即获取查询结果。如下:

  1. var promise = cursor.query('select * from meterinfo.meters where v1 = 30;', true)
  2. promise.then(function(result) {
  3. result.pretty();
  4. })

异步函数

异步查询数据库的操作和上面类似,只需要在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) {
  7. result.pretty();
  8. })

示例

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

这里同样是一个使用NodeJS 连接器建表,插入天气数据并查询插入的数据的代码示例,但和上面不同的是,该示例只使用cursor.