从u获取d3.js数组

2024-05-16 09:29:01 发布

您现在位置:Python中文网/ 问答频道 /正文

这就是我掌握的数据

{ "_id" : ObjectId("kdahfa"), "minTime" : ISODate("2016-04-02T00:00:00.000+0000"), "maxTime" : ISODate("2016-04-02T00:11:00.000+0000"), "Time" : 660.0, "Name" : "Sam" }   
{ "_id" : ObjectId("aabhk"), "minTime" : ISODate("2016-04-02T01:00:00.000+0000"), "maxTime" : ISODate("2016-04-02T02:14:25.000+0000"), "Time" : 4465.0, "Name" : "Bob" }  
{ "_id" : ObjectId("bak"), "minTime" : ISODate("2016-04-02T19:00:00.000+0000"),     "maxTime" : ISODate("2016-04-02T19:52:22.000+0000"), "Time" : 3142.0, "Name" :     "Sam" }  

我编写了一个python(bottle)代码从mongoDB服务器获取数据并在本地主机上运行。url是http://localhost:8080/result。在

^{pr2}$

现在,我希望通过http://bl.ocks.org/dk8996/5449641的帮助来创建一个d3.js图形。我要任务数组在示例.js从url/mongodb获取数据。我应该对d3.js代码做些什么修改才能使它按照我的要求工作?在

d3.json("http://localhost:8080/result", function(error, data) {
data.forEach(function(d) {
    d.maxTime = parseDate(d.maxTime);
    d.minTime = parseDate(d.minTime);
    d.Time = +d.Time;
});

var taskNames = ["Bob", "Sam"];

taskStatus = {
"Bob": "bar",
"Sam": "bar-failed",
};

var gantt = d3.gantt().taskTypes(taskNames).taskStatus(taskStatus);
gantt(tasks);
});

这些是示例.js到目前为止我做的文件。我收到一个错误
未捕获类型错误:数据.forEach不是函数
我希望创建一个返回的d3.js对象的数组,并像在http://bl.ocks.org/dk8996/5449641上一样使用它。在


Tags: 数据nameidhttptimesamjsbob
1条回答
网友
1楼 · 发布于 2024-05-16 09:29:01
 a = dbcoll.find_one({},{'_id':False})

在这一行中,您只查询数据库中的一个条目,这就是为什么返回的结果是单个对象而不是数组(可能还需要将第一个参数{}更改为[]或其他表示数组的内容,但我不熟悉dbcoll。在

您需要将find_one更改为find或其他内容,您将得到一个数组。在

然后在后处理过程中,您需要遍历a的数组:

^{pr2}$

在MongoDB中有一个方法findhttps://docs.mongodb.com/manual/reference/method/db.collection.find/

相关问题 更多 >