本文将介绍如何使用 Node.js* API 建立与 IBM* Bluemix* 云服务的连接, 包括创建 Bluemix 应用、添加 mongoDB* 连接,以及保存和检索数据。
创建 Bluemix 应用
1、登录Bluemix 控制台,选择 DASHBOARD 并单击 CREATE APP。

2、单击 WEB 并选择 SDK for Node.js。 单击 CONTINUE。

3、为应用命名并单击 FINISH。

4、在顶部可看到状态 “Your app is staging”。

5、分段完成后,单击左侧面板中的 overview 以查看仪表板。
6、通过应用仪表板单击 ADD A SERVICE OR API。

7、在服务页面,单击 Data and Analytics 部分的MongoDB by Compose 服务

8、在右侧您可以看到输入 Username、Password、Host 和 Port 的选项。
9、如果没有 Compose 帐号,需要创建一个。 单击 Register at Compose。

10、注册后,登录至 Compose.io 并创建 MongoDB 部署。
11、使用默认值,单击 Create Deployment。

创建部署过程将花费几分钟;您可以查看如下状态。

部署完成后,将重新定向至入门页面以创建仪表板。

12、通过单击左上角的 Add Database 来创建仪表板。 为仪表板命名并单击 Run。

13、添加仪表板用户以使用连接字符串访问仪表板。

14、单击 Admin Settings 以获取主机名称和端口详情。

15、在 Bluemix 添加服务页面,输入主机名称、端口、用户名称和密码详情。

16、单击创建后,单击弹出窗口中的 RESTAGE。

重新分段完成后,您将看到"Your app is running"状态。 在右上角。

设置开发环境
将 mongodb npm 模块安装至项目。
npm install mongodb
设置 mongodb 连接
创建面向模块的节点参考变量和客户端对象,以建立数据库连接。
var mongodb = require('mongodb'); var MongoClient = mongodb.MongoClient
创建 mongodb 连接
连接函数返回一个包含集合对象的 db 对象。 该集合对象用户插入数据和从云中检索数据。
可从 Bluemix 控制台获取连接网址。 从应用仪表板选择 MongoDB by Compose Service,并单击 Show Credentials。

可以使用这些整数创建连接 uri。 组成如下所示可用于节点应用的 uri。
mongodb://
Example:
var uri = mongodb://iot-kona:intel123@aws-us-east-1-portal.11.dblayer.com:27832/iot-compose?ssl=true
拷贝整数下方的 uri 并将其传输至连接函数。
db = MongoClient.connect(uri, function(err, db) {});
保存数据
数据可以保存为 JSON 对象或 JSON 对象阵列。
data = {‘sensor-id’ : ‘sens341’, ‘value’ : 65.5} db = MongoClient.connect(config.url, function(err, db) { collection = db.collection(config.db); collection.insert(data, function(err, result) {}); });
查询数据
基于时间戳的查询
dataQuery = { "timestamp": { $gt: readQuery.timestamp } };
基于 sensorid 的查询
dataQuery = { "sensor_id": { $eq: readQuery.sensor_id } } Run query collection = db.collection(self.config.db); collection.find(dataQuery).toArray( function(err, items) { if(!err) console.log(JSON.stringify(items, null, ' ')); });
参考