Tag: 数组

删除套接字表单arrays工作不正确

当我快速刷新一个浏览器时,有时sockets对象不会从数组中删除,如果我离开它一分钟,它会减less到5或6,但从来没有回到1连接。 var io = require('socket.io').listen(server); io.sockets.on('connection', function(socket){ users.push(socket); var my_index = users.indexOf(socket); console.log("Im number " + (my_index+1) + " form " + users.length); var timer = setInterval(function(){ socket.emit('date', {'date': new Date()}); }, 1000); initSocketData(socket); socket.on('client_data', function(data){ for (var i = 0, len = users.length; i < len; i++) { users[i].emit('a_in', {'a_in': data}); } }); socket.on('disconnect', […]

使用带Q承诺nodejs的数组字段迭代JSON数组

我对Q的承诺是新的。 我有一个像这样的input结构的JSON: [{"code": x, "status": y, "array": [ { "value1": k }, { "value2": z } },{…} …] 现在我必须用ObjectId引用将它保存在MongoDB的两个不同的集合中; 所以我想要这样的东西: C1: {"_id": 1,"code": x, "status": y, "array": [2,3]} C2: {"_id": 2,"value1": k},{"_id":3, "value2": z} 我尝试迭代两个数组映射,如下所示: Q.all(codes.map(function(currCode) { return this.saveNewCode(currCode) .then(function(code) { return Q.all(currCode.array.map(function(currElem) { return this.saveNewElem(currElem) .then(function(elem) { return this.addElemToCode(elem.id,code.id) }) })) }) })) 在这种方式返回是一个地图[[]],我想返回像最初的JSON响应。

打印预期格式的JSON数组

这是从我的表中获取细节的代码。 function listshops(callback) { var array=[3,4];/*shopId*/ async.each(array,function(dat,callback){ async.parallel([ function(callback){ client.connection.query('select * from shop where shopId=?',dat,function(err,data1){ callback(null,data1); }); }, function (callback) { client.connection.query('select * from image where shopId=?',dat,function(err,data2){ callback(null,data2); }); } ], function(err,data) { var result = data.reduce(function(prev, curr) { /*merging the array*/ return prev.concat(curr); }); console.log(result); }); }); } 我有这样的输出: http : //i.stack.imgur.com/NVUAu.png 我想以下面的格式打印我的结果: { […]

使用insert更新mongod中的数组值

我想做以下事情: finduserId如果存在其他创build一个 finduserId,并将该项目推入数组,如果该项目已经存在不推动 架构 var ItemSchema = mongoose.Schema({ "userId" : { type:String }, "item" : [] }); 我可以做, findOne然后得到数组,然后find数组是否存在,否则推,然后保存它。 只是好奇,有没有build在mongoose这样做?

如何使用node.js从Yahoo Finance JSON提取数据?

我构build了一个简单的请求函数来从Yahoo Finance API获取JSON,但是无法从JSON中提取数据。 这是我的function var request = require("request"); var stock_url = "http://finance.yahoo.com/webservice/v1/symbols/FB/quote?format=json&view=%E2%80%8C%E2%80%8Bdetail"; request(stock_url, function (error, response, body) { if (!error && response.statusCode == 200) { var stock_data = body; console.log("Yahoo Finance API: ", stock_data) var stock_price = stock_data.list.resources[0].resource.fields.price; console.log("stock_price: ", stock_price); }; }); 返回的JSON已成功存储在var stock_data ,然后尝试使用var stock_price = stock_data.list.resources[0].resource.fields.price来提取“price”数据,但得到TypeError:无法读取属性'resources'未定义。 下面是JSON,我已经尝试了var stock_price多个衍生品,没有运气。 任何帮助深表感谢。 { "list": { […]

是否有可能在浏览器中创build一个不安全的数组缓冲区?

在node.js , Buffer实现了一个Uint8Array ,它也在浏览器中可用。 在node.js有一个方法来创build一个不安全的缓冲区 ,其中的字节没有预先初始化为0.这个分配速度要快得多,因为你不必将所有的条目都清零,只要你以后填满一切,这是安全的。 在客户端浏览器的Javascript有没有这样的东西? 由于速度的原因,当我创build大量的数组,我立即填充值,我正在寻找一种方式来不安全地分配这些缓冲区。

caching节点js上数据的最佳方法

我有Json文件,我需要寻找具体的价值(文件是相当大的),我想把这个JSON到arrays,这样做会更容易,更快。 但是保存这个数组的最好方法是什么? 所以我不需要每次运行这个JSON,它会被保存,直到回收或服务重新启动? (节点js项目)

用最大的方法将大量的整数推送到浏览器

我已经在node.js(例如Uint32Array)中的服务器端键入了整数数组,其中包含2000多万个元素。 我需要将这些数据发送到浏览器。 什么样的压缩更好用? 我的数组是串联的sorting数组,我想这很容易压缩。

multer数组上传不上传文件,得到一个空数组

想要上传一个3个文件的数组,但是在我的nodejs中,我只能从angular度控制器获得一个空的数组。 在我的angular度控制器中,我使用一个onchange方法从html中获取文件,并通过http请求将其发送到我的nodejs后端的上传函数中。 this.selectFile1 = function(files){ fileArray[0] = files[0]; self.files = files; } this.selectFile2 = function(files){ fileArray[1] = files[0]; self.files = files; } this.selectFile3 = function(files){ fileArray[2]= files[0]; self.files = files; } this.upload = function(){ var fd = new FormData(); var file = fileArray; fd.append('file', file); $http.post("/upload", fd, { transformRequest: angular.identity, headers: {"Content-Type": undefined} }).then(function success(response){ […]

NodeJS / MongoDB – 匹配数组中值与login用户的值

我希望用户只能报告一次文件/video。 通过将用户标识推送到数组,然后检查用户是否已经报告了该文件。 到目前为止,我能够find当前用户,然后VideoID,加1,然后将其推送到reportedBy数组。 但是,当我们检查当前用户是否已经报告过这个文件的时候,我感到非常遗憾。 任何提示/帮助将不胜感激! 🙂 我的路线 router.get('/report/:videoLink', function(req, res, next){ async.waterfall([ function(callback){ User.findOne({_id: req.user._id}, function(err, foundUser){ if(err) return next(err) callback(err, foundUser) }) }, function(foundUser, callback){ Video.findOne({videoLink: req.params.videoLink}, function(err, reportVideo){ reportVideo.reports++; reportVideo.reportedBy.push(foundUser); if (reportVideo.reports > 4) { reportVideo.remove(); } reportVideo.save(function(err){ if(err) return next(); }); res.redirect('/'); }); } ]); }); 我的模式 var mongoose = require('mongoose'); var […]