Я сделал небольшой скрипт на своем raspberryPI для получения данных от mongo и построения графиков, и на этой неделе у меня произошел сбой системы, и мне потребовалось восстановить данные несколько месяцев назад ... Весь процесс работал примерно так:
var express = require('express');
var app = express();
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://user:pass@localhost:port';
var str = "";
MongoClient.connect(url, function (err, db) {
if (err) throw err;
var dbo = db.db("DB");
var cursor = dbo.collection("ColectionA").find();
if (cursor == null) {
console.log('cursor is null');
} else {
console.log('cursor not null');
var xArray = [];
var yArray = [];
cursor.each(function (err, item) {
if (item != null) {
xArray.push(item.item1);
yArray.push(item.item2)
console.log(item.item1 + ' ' + item.item2);
} else {
var plotly = require('plotly')("user", "APIkey");
var data = [{
x: xArray,
y: yArray,
type: "scatter"
}];
var layout = {
title: "Title1",
xaxis: {
title: "Date/Time",
rangemode: "nonnegative",
autorange: true,
titlefont: {
family: "Courier New, monospace",
size: 18,
color: "#7f7f7f"
}
},
yaxis: {
title: "Users",
rangemode: "nonnegative",
autorange: true,
titlefont: {
family: "Courier New, monospace",
size: 18,
color: "#7f7f7f"
}
}
};
var graphOptions = {
layout: layout,
filename: "date-axes",
fileopt: "overwrite"
};
plotly.plot(data, graphOptions, function (err, msg) {
console.log(msg);
console.log(err);
});
dbo.close();
}
});
}
});
setTimeout(function() {
console.log('done...');
process.exit();
}, 20000);
Теперь я не отправляю никакие данные обратно на график ... Я даже пытался отправить массив данных меньшего размера обратно на график, как
var data = [{x:[0,1,2], y:[3,2,1], type: 'scatter'}];
, но безуспешно,попытался npm install плотно подумать, что «сбой» мог повлиять на процесс, изменил API-ключ на панели инструментов и тут ...
Все, что я получаю из журналов plotly.plot - «Готово»msg ...
Итак ... безуспешно ... Есть идеи, что еще можно использовать для отладки?