2016-01-03 2 views
0

поможет мне в верхней или нижней проблеме коды следует иметь в виде я хочу сделать гистограмму и заполнить его из моей коллекции от метеора я хочу напечатать упражнения с там статусом , но когда я возвращать одну записи из БД работает хорошо график подходит, но
когда приходят две записи его не работает, пожалуйста, помогите в егоGoogle Visualization Метеор Реализация

Just help me that how i can make a correct JSON format for "google visualization graph" from meteor mongodb 

function drawChart() { 

    var status=Session.get('status'); 
    var graphData=Session.get("graphId"); 
    console.log("graphData==========",graphData) 
    patientLog.find({patientId: graphData},{fields:  
    {patientExerciseName:1,status:1,_id:0}}).forEach(function  (myDoc) { 
    var data = new google.visualization.DataTable(); 
    data.addColumn({ type: 'string', id: 'Room' }); 
    data.addColumn({ type: 'string', id: 'Name' }); 
    data.addRows([ 
    [ myDoc.status,   myDoc.patientExerciseName] 
    ]) 
var options = { 
     chart: { 
      title: 'Company Performance', 
      subtitle: 'Sales, Expenses, and Profit: 2014-2017', 
     }, 
     bars: 'vertical' // Required for Material Bar Charts. 
    }; 

    var chart = new google.charts.Bar(document.getElementById('barchart_material')); 

    chart.draw(data, options); 

})}

Примечание: Foreach functi когда возвращаемые две строки из базы данных не работает

, как я также попробовать этот

когда я даю JSON на мой графике он дает ошибку «Неверный формат таблицы данных:
должен иметь как минимум 2 колонки». , как я могу сделать формат JSON, который поддерживает визуализацию карт Google , пожалуйста, помогите мне мой код там

function drawChart() { 
    var status=Session.get('status'); 
    var graphData=Session.get("graphId"); 
    patientLog.find({patientId: graphData},{fields: 
    {patientExerciseName:1,status:1,_id:0}}).forEach(function (myDoc) { 
    var Mydoc=JSON.stringify(myDoc) 
    var data = new google.visualization.DataTable(Mydoc) 
    var options = { 
    chart: { 
     title: 'Company Performance', 
     subtitle: 'Sales, Expenses, and Profit: 2014-2017', 
    }, 
    bars: 'vertical' // Required for Material Bar Charts. 
}; 
var chart = new 
    google.charts.Bar(document.getElementById('barchart_material')); 

chart.draw(data, options); 
}) 

} 

ответ

0

1) Убедитесь, что данные получены: в Метеоре иногда сложно, как публикации могут быть не готовы, когда вы рисуете свою диаграмму. Вы должны быть уверены, что дождитесь окончания публикации. (Используйте консольный журнал для регистрации данных и посмотрите, есть ли там, как в отладчике, данные будут там к тому времени, когда вы его просмотрите.

2) как только вы уверены, что данные есть, прочитайте документы GoogleChart: это довольно обширная библиотека с большим количеством примеров, поэтому просто убедитесь, что данные соответствуют правильному формату.

этот вопрос и ответ должен помочь: Building array and formatting JSON for Google Charting API

Смежные вопросы