【发布时间】:2014-11-25 11:04:31
【问题描述】:
我使用此代码在 mongo 数据库中获取新插入并将其发送到 html 文件:
mongo.MongoClient.connect (uristring, function (err, db) {
db.collection ("speed", function (err,collection) {
collection.isCapped(function (err, capped) {
if (!capped) {
console.log (collection.collectionName + " is not a capped collection");
}
else
{
var cursorOptions = {
tailable: true,
awaitdata: true,
numberOfRetries: -1
};
var stream = collection.find({},{value:1,_id:0},cursorOptions).sort({$natural: -1}).stream();
stream.on('data', function(document) {
io.sockets.on('connection', function(socket){
socket.emit('message', {'message': document});
});
});
}
});
});
});
在客户端:
var socket = io.connect('/');
var myValue = [];
socket.on('message',function(data){
console.log(data);
myValue.push(data.message.value);
我一开始读取数据时它工作正常,但是当我在服务器运行时插入新数据时,数据显示在服务器中但不发送到客户端。
【问题讨论】:
-
那么,您是否在客户端打开了一个 websocket 连接,正在监听
message? -
是的.. var socket = io.connect('/'); var myValue = []; socket.on('message',function(data){ console.log(data); myValue.push(data.message.value);
标签: javascript node.js mongodb socket.io