前言
随着云计算的广泛应用,越来越多的应用程序运行在云平台上。云数据库成为应用程序中重要的组成部分。Cloudant 是一款 NoSQL 数据库,专为云原生应用程序而设计。它是一个完全托管的服务,具有在分布式环境中处理大型数据集的能力。Node-RED 是一款流程编排工具,用于构建物联网、人工智能和其他数据流业务。
@nickcis/node-red-node-cf-cloudant 是一个专门用于 Node-RED 中连接 Cloudant 数据库的 npm 包。本篇文章将介绍如何使用这个 npm 包。
安装
在使用 @nickcis/node-red-node-cf-cloudant 之前,需要先安装 Node-RED。Node-RED 可以通过 npm 进行安装。以下是安装 Node-RED 的命令。
npm install -g node-red
安装完 Node-RED 后,可以使用命令行工具进入 Node-RED 的工作目录。该目录中包含了 Node-RED 的配置文件、用户节点和依赖包等内容。
进入 Node-RED 工作目录后,可以使用以下命令安装 @nickcis/node-red-node-cf-cloudant。
npm install @nickcis/node-red-node-cf-cloudant
配置
安装完 @nickcis/node-red-node-cf-cloudant 后,需要在 Node-RED 中进行配置。在 Node-RED 工作目录中打开 settings.js 文件,找到 storageModule
配置项,并将其设置为 @nickcis/node-red-node-cf-cloudant
。
module.exports = { ... storageModule: require("@nickcis/node-red-node-cf-cloudant"), ... }
设置完成后,需要重启 Node-RED,才能使配置生效。
连接数据库
连接 Cloudant 数据库是使用 @nickcis/node-red-node-cf-cloudant 的第一步。在 Node-RED 中,通过添加一个 CouchDB/Couchbase(Cloudant) 节点来连接数据库。在节点配置中,需要填写 Cloudant 服务的账号信息和数据库名称。以下是节点配置的示例。
上图中的 Cloudant 节点,是一个输入节点,可以监听 Cloudant 数据库的数据变化。例如,当数据库中有一条数据被添加或修改,该节点就会触发输出消息。
查询数据
在连接数据库成功后,就可以进行数据查询了。使用 Cloudant 节点监听数据库的变化,可以获取数据库中新增和修改的数据。同时,也可以使用 Cloudant 节点的查询功能,查询满足条件的数据。
在查询数据时,可以使用 msg.payload
对象的 $selector
属性。$selector
属性的值是一个 JSON 对象,用于指定查询条件。以下是 $selector
属性的示例。
{ "selector": { "name": "John" }, "fields": ["_id", "_rev", "name", "age"] }
上面的示例中,"name": "John"
是查询条件,表示查询 name 属性等于 "John" 的数据。"_id"
, "_rev"
, "name"
, "age"
是要返回的字段名称。通过这个查询条件,可以获取满足条件的数据。例如,当数据库中有一个文档的内容如下。
-- -------------------- ---- ------- - ------ ------------ ------- -------- ------- ------- ------ --- ---------- - ---------- ------ ------- ---- ----- - -
该文档满足查询条件,可以通过 Cloudant 节点查询到。查询结果的消息体中,包含了文档的全部字段。
示例代码
下面给出一个在 Node-RED 中使用 @nickcis/node-red-node-cf-cloudant 连接 Cloudant 数据库并查询数据的示例代码,可以作为参考。
-- -------------------- ---- ------- -- ----- ----------------- ------- ------ -------- --------- ----- -- - ----- ------------------ ------- --------- ---- ---- ----------------- ------- ----------- ---------- -------- ----------- ------- ------------ ---------- --------------- ------ ------------- ------ ---- ---- ---- ---- -------- - ------------------- - -- - ----- ------------------ ------- ----------- ---- ----------------- ------- ----------- ------- ------------- - --- ------------- --- --------- ---------- ---- ----------- --------- --------- --------- ---------------------- -------- ---------- -- -------- -- ---- ---- ---- ---- -------- - ------------------- - -- - ----- ------------------ ------- --------- ---- ---- ----------------- ------- ----------- ---------- -------- ----------- ------- ------------ ------- --------------- ------ ------------- ------ ---- ---- ---- ---- -------- - ------------------- - -- - ----- ------------------ ------- -------- ---- ----------------- ------- --- --------- ----- ------------ ----- ---------- ------ ----------- ------ ----------- ---------- ------------- ------ ---- ---- ---- ---- -------- -- --
这个示例中,使用 Cloudant 节点监听数据库的变化,并通过函数节点设置 $selector
属性,即查询条件。然后,再使用 Cloudant 节点进行数据查询。查询到的数据通过 Debug 节点输出到控制台中。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055cc281e8991b448da609