Template.templatename.rendered无法从mongodb返回任何数据

时间:2013-06-10 05:10:33

标签: mongodb meteor meteorite

我想知道如何从Template.templatename.rendered函数中获取mongodb中的数据。我在其他模板上尝试了点击事件,它一切正常并返回我想要的结果。但我需要的是在加载时渲染图表。但我无法从mongodb获得任何数据。

// poll.js

    var drawPollChart = function(){

    //returns data on other template methods except for 
    //Template.templatename.rendered
    var dist = getDistinctQuestionId();
    alert('dist:'+dist);
    var data_x =[];
    for(var i=0; i< 1; i++)
    {
          var count = getDataCount(dist[i]);
            var uniq = getDistinctResponseBucket(dist[i]);
            for(var j=0; j<uniq.length; j++)
            {
                //alert('data:' + count[uniq[j]] + ", label:" + uniq[j]);
                data_x.push({
                    data : count[uniq[j]], 
                    label: uniq[j]
                });
            }
    }

Template.pollChart.rendered = function() {
    //can't draw a thing cause can't get any data from mongodb
    drawPollChart();
};

请帮忙吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

仅仅因为渲染模板并不意味着DB已连接。

使用Meteor.status()。status来检测连接状态。例如,你可以等到渲染pollChart模板,直到Meteor.status()。status ==='connected'。