我有IoT集线器解决方案来自两个设备的消息,现在作为IoT Hub数据被删除了24小时,我需要将这些数据存储在我的MongoDB中,如何最好地实现这一点? 我在Node JS中编写了一个事件中心函数,它也可以工作,但数据永远不会出现在数据库中。
module.exports = function(context, mySbMsg) {
context.log('Message received: '+ JSON.stringify(iotHubMessage));
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb:/abc.abc.abc.abc:27017/XYZ';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Database connected!");
db.collection("IoTData").insertOne(mySbMsg, function(err, res) {
if (err) throw err;
console.log("1 document inserted");
db.close(); });});
context.done();};
答案 0 :(得分:0)
我已经测试了以下代码,它可以正常工作。当您测试功能应用时,您可以跟踪日志。
module.exports = function (context, IoTHubMessages) {
context.log('Message received:' + IoTHubMessages);
var MongoClient = require('mongodb').MongoClient;
var url = '{{Your mongoDb connection string}}';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
context.log("Database connected!");
db.collection("IoTData").insertOne({IoTHubMessages:IoTHubMessages}, function(err, res) {
if (err) throw err;
context.log("1 document inserted");
});
db.close();
}
);
context.done();
};