上次有說因為我們重開機的時候 不會自動抓取資料 所以可能會導致我們靠繼電器控制的裝置 不會回復到原本的狀態 所以我們需要去取得最後一筆資料
主要的程式碼如下
var MongoClient=require('mongodb').MongoClient;
MongoClient.connect("mongodb://127.0.0.1:27017/test",function(err,client){
if(err){
console.log(err);
console.log('connecting fail');
return;
}
console.log('connecting');
var db_client = client.db('data_test')
var db_table = db_client.collection('data')
db_client.collection('data',function(err,collection){
collection.find({}).toArray(function(err,items){
if(err) throw err;
for(i=0 ; i<items.length-1; i++){
if(i = items.length-1){
console.log(items[i]);
}
}
console.log("DATA FOUND");
});
});
})
我這邊主要是利用迴圈 去找到mongodb的最後一筆陣列資料
其實應該有比迴圈更好的方法 因為如果資料很多 用迴圈會造成速度緩慢 但我找不到js能用的
成功的畫面如上 可以看到我們抓取到上次insert的最後一筆資料
那我們在插入一筆資料看看 同樣可以看到我們成功抓取到我們插入的最新資料了
利用這個方法 就可以在重開機的時候 去知道我們上一次的狀態 就不會因為重開機導致機器要自己重新啟動
最後要講JSON的功能 雖然很多人可能已經知道了 如果想要JSON格式裡的特定欄位 可以直接使用.+key的名稱 像是
console.log(items[i].time);
這樣我們之後再做分析時 就可以很方便的去比對時間了