2017-10-13 40 views
0

我有兩個設備的消息,現在的物聯網中心數據,在24小時內刪除,我需要將這些數據保存在我的MongoDB的物聯網中心解決方案,如何最好地實現這一目標? 我已經寫在節點的JS事件樞紐功能和它的作品也不過數據一直沒有出現在DB。發送IOT中樞消息到外部數據庫

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

我已經測試下面的代碼,它works.When你測試功能的應用程序,你可以跟蹤日誌。

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(); 
};