如何从JavaScript查询数据库的for循环返回值?

geturls(data,function(urls){ var data = { "data": [ { "userProfile": userP }, { "urls": urls } ] }; res.send(data); }); function getUrls(data,done){ links = new Array(); for (var i=0; i<data.length; i++){ user = data[i] Url.find({where:{data.id}}).success(function(url){ links.push({ "url": ur.text, "date": data.syncedTime }); if (urls.length == data.length){ done(links); } }); } } 我的问题与我的代码是这样的: 一旦我的数组收集的数据等于父数组的长度,我通过callback返回响应。 这显然是一个非常危险的,不是很优雅的解决scheme。 因为,假设我从Url数据库中得到一个.failure,那么我的urls.length将不会和data.length一样。 所以,我有点困惑如何去做这件事。 任何帮助?

如何在javascript中删除数组对象项?

这是我的代码 var array = [{ id: 1, name: 'test' }, { id: 2, name: 'test2' }]; 我需要上面的数组像以下更改 [{ name: 'test' }, { name: 'test2' }] 我试着删除 array.forEach(function(arr, i) { delete array[i].id; }); console.log(array); 输出为 [ { id: 1, name: 'test' }, { id: 2, name: 'test2'} ] 但它不会删除id项。 如何删除数组对象项? 我在节点v0.8中使用这个。

用jasmine监听asynchronous函数

我正在使用茉莉花节点来testing我的服务器。 我想伪造/绕过我的用户类中的一些validation相关的代码。 所以我会设置一个这样的间谍 – var user = { email: 'email@email.com', password: 'password' } spyOn(User, 'validateFields').andReturn(user); 但是validateFields函数是asynchronous的… User.prototype.validateFields = function(user, callback) { // validate the user fields callback(err, validatedUser); } 所以我实际上会需要这样的一个callback而不是回报 – var user = { email: 'email@email.com', password: 'password' } spyOn(User, 'validateFields').andCallback(null, user); 茉莉花是可以做到的吗?

Nodejs socket.io以连接的客户端数量向客户端发送消息

我做了一个使用socket.io的nodejs服务器与web客户端build立通信,服务器正在向特定的客户端发送套接字,问题是如果我有5个客户端连接到服务器,客户端将收到5次发送的消息! 这里是我的代码: var fs = require('fs'), http = require('http'), io = require('socket.io'), qs = require('querystring'); sys = require ('util'), url = require('url'); var message, AndroidID; //Traitement Serveur nodejs var server = http.createServer(function(req, res) { if(req.method=='POST') { var body = ''; req.on('data', function (data) { body += data; }); req.on('end',function(){ server.emit('sendingData', body); console.log("Body : " + […]

mongodb nodejs多重插入问题

我试图直接从mysql导入到mongodb没有任何架构更改。 我写了一个小的节点脚本,我的问题是我实现它的方式。 也许我在循环中使用mongo db插入限制时遇到了一些限制。 我认为这个问题不会发生,如果它是相反的(也许不是!) 所以这是事情。 mysql表中的行超过了100,000,但是当循环命中超过30000时,插入的项目数量减less了。 所以我们假设在使用下面提到的脚本完成导入后,如果mysql表中有100,000个项目,我最多只能得到37000个左右。 我强烈的suscpicion要么在节点脚本/节点mongodb连接器,或在脚本中的一些错误或最后在mongodb并发数据库插入限制。 我正在粘贴下面的脚本。 希望我能绕过它。 谢谢, var http = require('http'), mysql = require('mysql'), mongo = require('mongodb').MongoClient, format = require('util').format; var connection = mysql.createConnection({ user: "xxx", password: "xxx", database: "mydb" }); connection.connect(); var query = "select * from mytable"; var mysqlrows = ''; connection.query(query, function(err,rows,fields){ if(err) throw err; console.log(rows.length+'rows found.'); […]

ExpressJS,MongooseJS和Jade的Textarea Linebreak

在翡翠,我有一个formstextarea。 form(action='save') textarea(name='description') input(type='submit') 描述保存到mongodb。 我为此使用mongoosejs 。 description: String 用description呈现玉石时,我有: p #{description} 用换行符显示描述的最好方法是什么?

stylus.render函数中的文件名选项是做什么的?

我试图根据下面给出的示例代码(来自官方文档)更改文件名参数,但是它对我的输出没有任何影响。 我期望文件名将指定path到input或输出。 然而,str是input,需要定义,并且不会根据filename参数生成输出文件。 那么在stylus.render函数中文件名选项是做什么的? 来自的示例代码 var css = require('../') , str = require('fs').readFileSync(__dirname + '/basic.styl', 'utf8'); css.render(str, { filename: 'basic.styl' }, function(err, css){ if (err) throw err; console.log(css); }); 来自的示例代码 var stylus = require('stylus'); stylus.render(str, { filename: 'nesting.css' }, function(err, css){ if (err) throw err; console.log(css); });

在NodeJS中使用GD库来复制和重新采样图像

我尝试,不成功,在PHP GDfunctionimagecopyresampled NodeJSfind一个等效。 这不是简单地调整图像的大小,而是获取图像的一部分,然后将其放入另一个图像。 我find这个库: 克 帆布 ImageMagick的 easyimage 节点-GD 但他们没有相同的东西。 这与函数imagecreatetruecolor是一样的,他们只是简单地resize/裁剪图像,而不select偏移量和指定的宽度/高度select图像的一部分。 有没有人知道NodeJS的等价物?

如何从Deployd(deployd.com)访问Node.js文件系统API?

我正在使用Deployd(deployd.com)轻松创build一个API。 我想在post事件上创build一个HTML文件。 问题是它不工作,因为“要求”没有定义。 我认为这是因为Node.js API不能从Deployd访问。 相关文档在这里: http : //docs.deployd.com/docs/collections/adding-logic.md ,它说:“事件允许你添加自定义的业务逻辑到你的集合。通过编写事件,你可以添加validation,关系和安全性,事件用JavaScript(特别是ECMAScript 5标准)编写,并可以访问收集事件API。 那么,有没有一种方法可以访问Node.js API,或者有任何方式来使用Deployd创build一个文件? 谢谢!!!

dynamic语言文档

我在许多文档中看到如下所示的内容… fs.openSync(path, flags, [mode]) Synchronous open(2). 当有人引用括号中的数字的方法是什么意思? 这只是指dynamic语言中带有2个参数的函数签名。 这是什么意思?