Node.js Connector
TDengine 同时也提供了node.js 的连接器。用户可以通过npm来进行安装,也可以通过源代码src/connector/nodejs/ 来进行安装。具体安装步骤如下:
首先,通过npm安装node.js 连接器.
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安装
Command Line Tools
在
Xcode -> Preferences -> Locations
目录下可以找到这个工具。或者在终端里执行
xcode-select --install
- 该步执行后
gcc
和make
就被安装上了
Windows
安装方法1
使用微软的windows-build-tools在cmd
命令行界面执行npm install --global --production windows-build-tools
即可安装所有的必备工具
安装方法2
手动安装以下工具:
- 安装Visual Studio相关:Visual Studio Build 工具 或者 Visual Studio 2017 Community
- 安装 Python 2.7 (
v3.x.x
暂不支持) 并执行npm config set python python2.7
- 进入
cmd
命令行界面,npm config set msvs_version 2017
如果以上步骤不能成功执行, 可以参考微软的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服务端通信
const taos = require('td-connector');
var conn = taos.connect({host:"127.0.0.1", user:"root", password:"taosdata", config:"/etc/taos",port:0})
var cursor = conn.cursor(); // Initializing a new cursor
关闭连接可执行
conn.close();
查询
可通过 cursor.query
函数来查询数据库。
var query = cursor.query('show databases;')
查询的结果可以通过 query.execute()
函数获取并打印出来
var promise = query.execute();
promise.then(function(result) {
result.pretty();
});
格式化查询语句还可以使用query
的bind
方法。如下面的示例:query
会自动将提供的数值填入查询语句的?
里。
var query = cursor.query('select * from meterinfo.meters where ts <= ? and areaid = ?;').bind(new Date(), 5);
query.execute().then(function(result) {
result.pretty();
})
如果在query
语句里提供第二个参数并设为true
也可以立即获取查询结果。如下:
var promise = cursor.query('select * from meterinfo.meters where v1 = 30;', true)
promise.then(function(result) {
result.pretty();
})
异步函数
异步查询数据库的操作和上面类似,只需要在cursor.execute
, TaosQuery.execute
等函数后面加上_a
。
var promise1 = cursor.query('select count(*), avg(v1), avg(v2) from meter1;').execute_a()
var promise2 = cursor.query('select count(*), avg(v1), avg(v2) from meter2;').execute_a();
promise1.then(function(result) {
result.pretty();
})
promise2.then(function(result) {
result.pretty();
})
示例
这里提供了一个使用NodeJS 连接器建表,插入天气数据并查询插入的数据的代码示例
这里同样是一个使用NodeJS 连接器建表,插入天气数据并查询插入的数据的代码示例,但和上面不同的是,该示例只使用cursor
.