没有方法“setMaxListeners”错误

根据这个问题,我需要调用request.setMaxListeners(0)来解决所描述的问题。 当我尝试做: var request = require('request'); request.setMaxListeners(0); 我收到以下错误信息: request.setMaxListeners(0); ^ TypeError: Object function request(uri, options, callback) { if (typeof uri === 'undefined') throw new Error('undefined is not a valid uri or options object.') if ((typeof options === 'function') && !callback) callback = options if (options && typeof options === 'object') { options.uri = uri } […]

在MongoDB中获取更新的文档

我需要获取更新文档的_id (Mongo ObjectID)。 为此,我想获得更新的文件。 我怎么才能得到它? 我试过这个: … collection.update(oldData, newData, function(err, doc) { console.log(docs); // This prints "1" in console. So, it's not a document. if (err) { return callback(err); } callback(null, doc); }); … 我可以得到它没有通过newData / oldDatafind一个文件?

问题在与npm安装mongodb模块

PS:我是一个初学者,有nodejs和mongodb。 事实上,这是我的第一天与nodejs和mongodb,我正在从tutsplus的基本video系列 (Mac OX Lion,最新安装的Xcode,MongoDB shell版本:2.4.3(通过自制软件安装),npm -v1.2.15,node -v0.10.2) kerberos@0.0.2 install / Users / mohit / projects / nodejs / mongo / node_modules / mongodb / node_modules / kerberos(node-gyp rebuild 2> builderror.log) (出口0) bson@0.1.8 install / Users / mohit / projects / nodejs / mongo / node_modules / mongodb / node_modules / bson(node-gyp rebuild 2> builderror.log) […]

mongoose在数据库中find最后十个条目

我正在做一个简单的小社交networking。 我有所有的inputpost,用户等,完成。 现在唯一错误的是它几乎只是一个聊天室。 每当你在某人的网页上发布信息时,唯一可以查看的人就是当时网页上的人。 当你刷新,所有的post都没有了。 这是我发送post时的技术部分,以及我想要做的事情。 每当你发布一篇文章,它会做一些不重要的事情,我不会列出它们。 但是有一个重要的部分,把它发送给NodeJS服务器。 这是它使用的代码: function sendPost(cont) { socket.emit("newPost", username, uid, cont, page); model.posts.unshift(new Post(username, uid, cont, page)); // You don't need to worry about this } 正如你所看到的,它使用用户名,uid,内容和页面发出一个“newPost”。 在服务器上,它接收这个post,然后插入到数据库中。 socket.on("newPost", function (name, id, cont, page) { var thePost = new Post({name: name, cont: cont, id: id, page: page}); console.log("Received a new […]

如何在一个nodejs&express项目中同时使用ejs和jade?

我想使用ejs来进行partials,并使用jade来进行单个页面,如何在一个nodejs&express项目中使用这两个页面?

在amazon ec2实例中处理I / O请求

学习节点后,JavaScript和所有其余的困难的方式,我终于要释放我的第一个Web应用程序。 所以我订阅了amazon web services,并创build了一个微型实例,计划在第一年的免费层 ,让我的应用程序提供给世界。 我更关心隐藏成本。 我知道,免费层每月为Amazon EC2 EBS提供100万次I / O请求。 事情是,我开始testing我的应用程序一个EC2实例来检查一切运行正常; 而且我已经有超过10万个I / O请求 。 我基本上是迄今为止唯一使用它的实例 ( 实例运行37小时 )。 所以我很担心如果我的应用程序获得一些stream量会发生什么事情,而且我不想在本月底结束一个巨大的意外账单。 我觉得很奇怪,因为我主要服务于静态的东西,而我的服务器端代码包括: 从客户端接收search请求 1个http请求到一个网站 1 https请求的YouTube的API 将数据保存到mongoDB 将结果发送给客户端 你有什么build议,如何大幅度减less我的IO? 我目前还没有使用其他亚马逊服务,也许我错过了什么? 或者,也许亚马逊免费层在我的情况下不够,但那么它可以足够呢? 我的意思是,我的应用程序毕竟是非常简单的。 我很乐意为您提供任何帮助 谢谢!

快递,检查模板是否存在

有一种方法,我可以告诉如果一个给定的模板存在快递? 基本上我想创build特定和回退模板,但不希望在模板本身包含该逻辑。 if( res.templateExists( 'specific_page' ) ) { res.render( 'specific_page' ); } else { res.render( 'generic_page' ); } specific_page名称是在运行时基于用户设备,语言等生成的。 注:我不需要知道如何在模板中进行string本地化,我已经有了。 我正在寻找整个布局/模板更改的情况。

npm不在Windows中安装jsdom

我用jQuery在node.js中构build一个应用程序,但是当我尝试执行时,它说它找不到模块jsdom所以即使我不明白为什么安装jQuery没有安装这个依赖项,我手动npm install jsdom ,错误信息: MSBUILD:错误MSB3428:无法加载Visual C ++组件“VCBuild.exe”。 要解决这个问题,1)安装.NET Framework 2.0 SDK,2)安装Microsoft Visual Studio 2005或者3)将组件的位置添加到系统path(如果它安装在别处)。 [C:\网站\ MYAPP \ node_modules \ jsdom \ node_modules \ contextify \build立\ binding.sln] 我尝试了第一个选项,但仍然没有帮助。 我是什么(错过了?做错了)?

Connect-Redis存储不适用于socket.io

对于使用connect-redis的人,我有一个简单的问题。 我想用socket.io和函数io.set('store', something)来使用它。 我不知道为什么,当我这样做 var RedisSessionStore = require('connect-redis')(express); var sessionStore = new RedisSessionStore(); app.use(express.session({ secret: 'some totally secret key', cookie: { maxAge: 1000 * 60 * 60 }, store: sessionStore })); //and then I wan't to use the session store for socket.io io.set('store', sessionStore); 它说Object #<RedisStore> has no method 'subscribe'

Node.js请求下载文件有时为空或不存在

我正在用node.js和请求模块写一个下载器。 使用我正在做的stream语法 var r = request(url).pipe(fs.createWriteStream(targetPath)); r.on('error', function(err) { console.log(err); }); r.on('finish', cb); 下载文件,保存并调用callback。 但是,在接近50%的情况下,文件是空的或者根本不创build。 没有error事件。 即使文件还没有(完全)写入,看起来finish事件也会被触发。 上下文:整个事情被包装成async.each调用。 任何线索? 谢谢!