express 使用 influxdb
时间: 2023-06-29 16:03:50 浏览: 117
influxdb数据库操作
可以使用 `influx` 模块来在 Express 应用中使用 InfluxDB。
首先需要安装 `influx` 模块:
```
npm install influx
```
然后在 Express 应用中引入 `influx` 模块:
```javascript
const Influx = require('influx');
```
接下来,可以创建一个 InfluxDB 实例并连接到数据库:
```javascript
const influx = new Influx.InfluxDB({
host: 'localhost',
port: 8086,
database: 'mydb',
});
influx.getDatabaseNames()
.then(names => {
if (!names.includes('mydb')) {
return influx.createDatabase('mydb');
}
})
.then(() => {
app.listen(3000, () => {
console.log('Listening on port 3000');
});
})
.catch(err => {
console.error(`Error creating Influx database! ${err}`);
});
```
这个例子中,我们首先创建了一个 InfluxDB 实例并指定了连接的地址和端口号以及数据库名称。然后使用 `getDatabaseNames()` 方法检查数据库是否存在,如果不存在则使用 `createDatabase()` 方法创建数据库。最后启动 Express 应用监听端口。
下面是一个例子,如何在 Express 应用中使用 InfluxDB 记录请求时间:
```javascript
app.use((req, res, next) => {
const start = Date.now();
res.on('finish', () => {
const duration = Date.now() - start;
influx.writePoints([
{
measurement: 'response_times',
tags: { host: os.hostname() },
fields: { duration, path: req.path },
}
]).catch(err => {
console.error(`Error saving data to InfluxDB! ${err}`);
});
});
next();
});
```
这个例子中,我们使用 Express 的中间件来记录请求时间。在请求结束时,我们使用 `writePoints()` 方法将数据写入 InfluxDB 中。在这个例子中,我们记录了响应时间、路径以及主机名等信息。
以上就是在 Express 应用中使用 InfluxDB 的基本步骤。
阅读全文