【发布时间】:2013-09-29 12:10:38
【问题描述】:
我想访问 MongoDB 中的实时数据,这些数据将在线更新以使用 javascript 进行地图和图形可视化。我尝试使用 cursorstream 遵循 MongoDB 网站中的示例。代码如下所示。根据示例,这应该可以工作,但是节点无法识别 .stream() 部分...
var databaseUrl = "127.0.0.1/sensor_db2";
var collections = ["sensor"]
var db = require("mongojs").connect(databaseUrl, collections);
var stream = db.sensor.find().stream();
stream.on("data", function(item) {
console.log(item);
});
stream.on('error', function (err) {
console.error(err);
});
然后我收到这样的错误消息:
/Users/user/Documents/nodetest/nodetest.js:6
var stream = db.sensor.find().stream();
^
TypeError: Object [object Object] has no method 'stream'
at Object.<anonymous> (/Users/user/Documents/nodetest/nodetest.js:6:35)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3
/Users/user/Documents/nodetest/nodetest.js:6
var stream = db.sensor.find().stream();
^
TypeError: Object [object Object] has no method 'stream'
at Object.<anonymous> (/Users/user/Documents/nodetest/nodetest.js:6:35)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3
BlackBook:nodetest user$ node nodetest.js
我使用 node.js 运行它。
任何人都可以帮助它有什么问题吗?有没有其他方法可以实现相同的目标? (从 mongodb 加载数据并在实时图表中可视化数据)?
【问题讨论】:
-
您使用的是上限集合吗?
-
不,我没有使用上限集合。
-
我们是否应该在存储数据时使用上限集合以使其正常工作?
-
好吧,如果您使用上限集合,那么您可以做您想做的事情。我不确定如何在无上限的收藏中进行处理。我会把封顶的收集方法作为答案,如果这对你没有用..我会删除它。
标签: javascript node.js mongodb real-time data-visualization