为什么我得到新数据,但node.js不发送数据
Why do I get the new data but node.js does not send the data?
我使用以下代码在 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);
当我第一次读取数据时它工作正常,但是当我在服务器运行时插入新数据时,数据显示在服务器中但不发送到客户端。
stream.on('data', function(document) {
socket.emit('message', {'message': document});
io.sockets.on('connection', function(socket){
socket.emit('message', {'message': document});
});
});
在你的第一个socket.emit(),你指的是哪个套接字? 删除您的第一个 socket.emit 将解决问题。
stream.on('data', function(document) {
io.sockets.on('connection', function(socket){
socket.emit('message', {'message': document});
});
});
或者按如下所示更改代码也应该可以正常工作。
io.sockets.on('connection', function(socket){
stream.on('data', function(document) {
socket.emit('message', {'message': document});
});
});
相关文章:
- node.js请求数据事件未在CORS ajax调用中触发
- 在HTML页面上显示node.js服务器中的数据
- AJAX调用并在Node中获取返回数据
- 如何在不重新加载的情况下提交表单,并使用Node+Express将数据传递回同一页面
- 更新从Mysql查询检索到的数据?Node.js节点mysql
- 通过node.js和socket.io向特定用户发送数据
- Node.js-将数据发送到Node.js,并以HTML形式验证插入的数据
- 使用Node/Express随机查询Postgresql表并处理行数据
- Angular JS和Node路由/布线-仅在页面刷新后显示数据
- Node JS,传统的数据结构?(如Set等),任何类似Java.util的node
- 在node.js中用“;“大”;数据
- 如何使用Node.js/MongoDB在AngularJS应用程序中获取特定于目标的数据
- 尝试通过angularjs和node将用户数据发送到mongodb
- node exec()未触发所有数据事件
- Node.js,为事件分配回调函数'数据'
- Node.js输入数据事件停止
- 视频标签仅在移动设备上调用一个字节的数据(Node.js)
- Json 提取和使用数据(node.js)
- Javascript 函数不返回数据 - Node-MySQL
- 麻烦从Firebase数据库获取数据Node.js/JavaScript