gpt4 book ai didi

javascript - 在谷歌图表中显示 mongodb 结果

转载 作者:行者123 更新时间:2023-12-02 14:57:33 24 4
gpt4 key购买 nike

我有一些商店的点击商品的 mongodb 集合。如果有人点击某个项目,数据库会添加以下格式的 json:

{ 
"_id" : { "$oid" : "56cf06ce0b7707c83e5a8c64" },
"date" : { "$date" : 1456408270811 },
"name" : "Jura whisky",
"store" : "56c9bfed942693bb745229ef"
}

因此,数据库有不同的项目,不同商店的不同日期。如果我想获取特定商店所有商品的所有点击,我使用以下查询:

var id = global.actuallUser._doc._id;
id = id.toString();
global.databaseStatistic.collection(global.ARTICLEPRESS).aggregate(
[
{$match: {
$and: [
{
store: id,
date: {
$gte: new Date('12/01/2013'),
$lte: new Date('12/01/2017')
}
}
]
}},
{$group: {"_id": {name: "$name", day: {$dayOfMonth: "$date"},month: {$month: "$date"},year: {$year: "$date"}}, "count": {$sum: 1}}}
]
).toArray(function (err, result) {
res.send(result);
});

现在,我得到了一个对象数组,其属性为“Name”、“day”...是否可以以这种格式获得此结果:

['date', 'name', 'count'],
['1.1.2000', Jura whisky, 400],
['1.1.2000', Potato, 460],
['1.1.2000', Pizza, 1120],
['2.1.2000', Jura whisky, 540]

所以我可以使用谷歌图表 API 制作数据图表。

谢谢!

最佳答案

假设您正在获取 results JSON 对象作为 ajax 调用的结果。

var columns = Object.keys(results[0]);
var data = results.map(function (result) {
var tableRow = [];
columns.forEach(function (col) {
tableRow.push(result[col]);
});
return tableRow;
});

data 将包含要由谷歌图表呈现的表格行。

var dataTable = new google.visualization.DataTable();
columns.forEach(function (columnName) {
dataTable.addColumn(columnName);
});

dataTable.addRows(data);

关于javascript - 在谷歌图表中显示 mongodb 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35683837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com