2017-10-13 6 views
0

IoT 허브 솔루션은 두 장치의 메시지를 가지고 있으며, 이제는 IoT 허브 데이터가 24 시간 동안 삭제되므로 MongoDB에 해당 데이터를 저장해야합니다. 어떻게이를 최상으로 수행합니까? 노드 JS에 이벤트 허브 기능을 작성했지만 작동하지만 데이터가 DB에 나타나지 않습니다.외부 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

다음 코드를 테스트 한 결과 작동합니다. 기능 앱을 테스트하면 로그를 추적 할 수 있습니다.

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