如何将任何JavaScript图形库与MeteorJS数据一起使用



我想构建一个小型MeteorJS应用程序,它包含一个条形图,需要在底层MongoDB数据发生变化时随时更新。通常,大多数图形库都依赖JSON数组作为其"本地"数据源。如果我必须使用这样一个数组,我如何将它与Mongo集合相关联,并在该集合发生变化时使数组值更新?

https://forums.meteor.com,我找到了一个完整的工作示例,它说明了我的问题的解决方案。以下是具体的线程:https://forums.meteor.com/t/solved-how-to-draw-bar-chart-using-highcharts-and-mongodb-data-reactively/5156/17,其中用户jhuenges点击以下流星板示例:http://meteorpad.com/pad/iNfXQwMW3RwrokTe8/Chart

此解决方案的关键要素:1) Chart的"data"元素被定义为一个变量,其值来自Mongo游标:

series: [{
            name: 'No. of Patients',
            data: data
        }]
Template.agecolumn.onRendered(function() {  
     Tracker.autorun(function () {
    var data = Data.find({symptoms: {$in: ["Vomiting"]}}).fetch();

这种组合确保了,在任何时候,当基于服务器的MongoDB更新时,"数据"中的值都会刷新,并重新呈现图表。

我已经通过将我的RoboMango实用程序连接到MongoDB的服务器端实例来测试这一点,并直接从数据库中更改/删除值。一旦将任何此类更改应用于服务器端Mongo,前端Chart就会自动刷新以反映这些更改,这正是我想要的。正如克里斯蒂安·弗里茨在回答我最初的问题时所建议的那样,Tracker.autorun被用来促进预期的结果。

最新更新