草庐IT

node-schedule

全部标签

Node.js API 因并发连接而阻塞

这是我第一次使用Node.js和Mongo,所以请原谅任何无知。我来自PHP背景。我的理解是Node.js的扩展性很好,因为它具有事件驱动的特性。因此,我在Node中构建了我的API,并一直在本地主机上对其进行测试。今天,我将它部署到我的云服务器上,一切正常,除了......随着请求开始堆积,需要很长时间才能完成。只有2个客户端连接到API,当两个客户端都试图同时发出多个请求(有时确实会发生)时,我已经看到30秒以上的页面加载时间。API完成的大部分工作是(a)读取/写入驻留在云端第二台服务器上的MongoDB(b)向其他API、网站等发出请求并返回结果。这两个操作都不应该阻塞,但我可

node.js - 无法从 Mongoose 访问 populate() 对象的属性?

这很奇怪...我使用带有ref的populate()来填充我的模式中的数组,但随后无法访问这些属性。换句话说,模式是这样的:newModel('User',{'name':String,'installations':[{type:String,ref:'Installations'}],'count':Number,}当然,Insallations是另一种模式。然后我找到并填充一组用户...model.find({count:0}).populate('installations').exec(function(e,d){for(varkind){varuser=d[k];for(v

node.js - 从 MongoJS 运行 MapReduce

是否可以使用mongojs运行mapreduce作业在Node应用程序中。我意识到在Web服务器代码中使用mapreduce并不是执行此操作的最有效方法,但它用于测试目的。 最佳答案 是的,看看node_modules/mongojs/mongodb/lib/collection.js中的以下函数定义:Collection.prototype.mapReduce=functionmapReduce(map,reduce,options,callback) 关于node.js-从Mongo

node.js - Backbone.js、mongodb 和获取相关对象——客户端还是服务器端?

我正在使用mongodb、node.js和backbone.js构建一个应用程序,它将作为我的学习体验。我很想知道从RESTAPI获取相关对象的最佳做法是什么。假设我们有“帖子”对象和“用户”对象,帖子具有将它们链接到用户的“userId”属性。你应该:在客户端获取一个帖子对象。检查帖子的“userId”属性,然后单独获取该用户。就服务器端代码而言,这似乎很好也很简单,但如果事情进一步复杂化,最终可能会发出大量请求。获取一个帖子对象,并让服务器“进行连接”并在同一个请求中为您提供相关的用户对象。有没有人可以分享一些经验?谢谢 最佳答案

javascript - Node.js 使变量等待分配直到回调函数完成

我正在使用Node.js、Express、MongoDB和Mongoose。我有一个函数可以在我的MongoDB数据库中获取文档的最大ID号并将其返回给程序。我已经开始模块化我的代码,并将该功能迁移到另一个模块。我已成功访问我的主模块中的函数,但它涉及异步数据库查询。当函数返回一个值时,我想将它分配给一个变量。不幸的是,当返回值赋给变量时,变量实际上被设置为未定义。我正在考虑使用事件发射器来表示查询已完成,但这也带来了两个问题:1)我认为您不能在返回语句后在程序中执行任何操作,而这是必需的。2)模块之间的事件发射器看起来非常挑剔。请帮助我为变量分配正确的值。主要功能和模块的代码如下:(

node.js - FindOne 用 MongooseJS 然后预先存储结果?

抱歉,如果这听起来很傻,我仍在学习服务器端Javascript。我的app.js文件中有这段代码。vartest;UserModel.findOne({name:'guest'},function(err,user){test=user.name;});console.log(test);我知道这是行不通的,因为UserModel.findOne是异步的,所以一切都必须在回调中发生。例如。console.log(test)可以在UserModel.findOne完成之前执行。问题如果我在我的app.js文件中声明vartest,有没有办法获取user.name的值(通过UserMode

Node.js/Mongojs 嵌套数据库回调返回

我正在为session身份验证实现一个restify中间件。该函数包含嵌套的异步数据库调用:db.sessions.findOne()回调中的db.sessions.remove()。'return'语句让我感到困惑,因为我不确定我是从回调中返回next()还是next(err)返回到verifyUserSession(),还是只是从verifyUserSessions返回?我这样做对吗?functionverifyUserSession(req,res,next){if(req.headers.sessionKey){db.sessions.findOne(req.headers.s

node.js - 通过 Node.js 驱动程序运行任意 MongoDB 脚本

我有一个从命令行运行的复杂MongoDB脚本的组合,如下所示:$mongomydbconfig.jstask.js由于我无法在我的服务器环境中运行shell脚本并且需要安排上述任务,我认为我可以简单地连接上述.js文件然后从Node脚本运行它们。因此,我正在寻找等同于:db.runMyCustomRawCommands(stringcommands)我该怎么做,或者有什么替代解决方案? 最佳答案 引用Node.js原生MongoDB驱动程序的原作者ChristianKvalheim的话:这是不可能的,因为shell是同步的并且具有与

node.js - 显示错误的最佳方式 Express、Jade 和 Mongo

使用Express&Jade将警告消息传递到View的最佳方式是什么?我创建了一个登录系统,该系统根据存储在Mongo数据库中的密码检查输入的密码,然后设置一个cookie并重定向,如果不正确则直接重定向。if(obj.password===req.body.loginPassword){res.cookie('username',req.body.loginUsername);red.redirect('/')}else{res.redirect('/');}我想在登录View失败时通过else传递一条警告消息。 最佳答案 Exp

javascript - Node js上的简单服务器

大家好:)我的问题是response.vrite()不工作为什么?还有一个问题。每次启动/升级页面都会调用db.open吗?varhttp=require("http");varDb=require("mongodb").Db;varServer=require("mongodb").Server;functionstart(){'usestrict';functiononRequest(request,response){'usestrict';vardb=newDb("TestApp",newServer("127.0.0.1",27017,{}));response.writeH