【发布时间】:2015-10-25 09:59:21
【问题描述】:
我正在尝试使用流星的 Highchart 包显示饼图。 我已经让它与静态数据源一起工作,如下所示:
series: [{
type: 'pie',
name: 'Sales',
data:
[
["Norway", 123123.32],
["Canada", 1977844.86],
["France", 2644017.71],
["Denmark", 28954612.34],
["United Kingdom", 3391712.21],
["United States", 9389789.51]
]
}]
在模板文件的.js系列部分。
但是当我尝试使用 MongoDb 的 find 语句时,它要么不显示数据,要么报告显示异常,我猜这是由于 find 查询产生的数据格式造成的。
我在集合中的数据看起来像这样:
{ "_id" : "HsgEBrrSvBp6qzp8Q", "0" : "Norway", "1" : 9061000.58 }
{ "_id" : "5dvtddEogj6d5Zw7D", "0" : "Canada", "1" : 1977844.86 }
{ "_id" : "6XmfgjBG4dupes3ma", "0" : "France", "1" : 2644017.71 }
{ "_id" : "BB8Av8GRpPXPsWfzj", "0" : "Denmark", "1" : 2894312.34 }
{ "_id" : "44qbHdtA3wTtf9QFL", "0" : "United Kingdom", "1" : 3391712.21 }
{ "_id" : "YqyWGzXkT4pD532qJ", "0" : "United States", "1" : 9389789.51 }
我也尝试只找到选定的字段(“0”和“1”)
SalesData.find({}, {_id:0}).fetch()
有人知道如何从集合中获取可在 Highcharts 中使用的格式的数据吗?!
谢谢!
编辑:我通过将所需值推送到数组并将该数组设置为数据源来解决它。
var seriesData = [];
var reportData = SalesData.find({});
reportData.forEach(function(countryData) {
var dataPoint = [countryData.Country, countryData.Total];
seriesData.push(dataPoint);
console.log(countryData.Country);
});
【问题讨论】:
标签: mongodb meteor highcharts