Articles of express

我怎样才能将一个JSON数组从NodeJSstream到postgres

我试图通过接收来自客户端的请求每个批量插入尝试10,000条logging(使用sequelize .js和bulkCreate() )来插入几百万条logging(约6个字段/列bulkCreate() ) 这显然不是一个好主意,所以我试着研究node-pg-copy-streams 但是,我不想在客户端发起更改,在这里发送一个json数组 # python data = [ { "column a":"a values", "column b":"b values", }, … # 10,000 items … ] request.post(data=json.dumps(data), url=url) 在nodejs服务器端,我将如何stream接收request.body在以下骨架? .post(function(req, res){ // old sequelize code /* table5.bulkCreate( req.body, {raw:true} ).then(function(){ return table5.findAll(); }).then(function(result){ res.json(result.count); });*/ // new pg-copy-streams code pg.connect(function(err, client, done) { var stream = […]

KeystoneJS中间件使用Model.find()调用MongoDB时运行两次

我有一个路线,加载一个公寓列表,并显示它们: app.get( '/condo-list', middleware.loadCondoList, routes.views.condolist ); loadCondoList中间件调用CondoBuilding模型并在res.locals上设置结果: exports.loadCondoList = function loadCondoList( req, res, next ) { console.log( 'request url: ' + req.url ); console.log( 'getting condo buildings…' ); CondoBuilding.model .find() .exec( ( err, condos ) => { if ( err ) { // pass error along next( err ); } else { // add CondoBuildings […]

如何Twitter使用相同的Twitter应用程序从一个域的多个主机名进行身份validation?

我有两个主机名,通过我的DNS发送到同一个IP: theark.info www.theark.info 我使用theark.info在我的Twitter应用程序中明确地设置了我的callback和域名。 什么是最好的方式,以确保我可以使用相同的Twitter应用程序Oauth使用www.theark.info ,因为我目前得到一个错误: 内部服务器错误 在我的DNS中,我的DNS中有一个CNAME www ,指向theark.info 也许我需要使用Express和Javacsript在请求上操作DOM?

NodeJS / Express请求实体太大 – Heroku

我已经到处寻找,似乎无法find关于这个的解释,这就是Heroku在我的日志中显示的内容: 45:45+00:00 app[web.7]: Error: Request Entity Too Large 45:45+00:00 app[web.7]: at Object.error (/app/node_modules/express/node_modules/connect/lib/utils.js:44:13) 45:45+00:00 app[web.7]: at Object.limit [as handle] (/app/node_modules/express/node_modules/connect/lib/middleware/limit.js:45:47) 45:45+00:00 app[web.7]: at next (/app/node_modules/express/node_modules/connect/lib/proto.js:190:15) 45:45+00:00 app[web.7]: at Object.logger [as handle] (/app/node_modules/express/node_modules/connect/lib/middleware/logger.js:157:5) 45:45+00:00 app[web.7]: at next (/app/node_modules/express/node_modules/connect/lib/proto.js:190:15) 45:45+00:00 app[web.7]: at Object.favicon [as handle] (/app/node_modules/express/node_modules/connect/lib/middleware/favicon.js:78:7) 45:45+00:00 app[web.7]: at next (/app/node_modules/express/node_modules/connect/lib/proto.js:190:15) 45:45+00:00 app[web.7]: at Object.expressInit [as handle] […]

使用Express保存file upload到MongoDB

在本教程之后 ,我设法创build了一个带有fileinput的表单,将file上传到指定的目录。 这是所有的,但它不会保存任何东西到数据库,我没有任何参考上传到Jade模板中显示的文件。 这是我正在做的事情: // add new bulletin exports.addbulletin = function(db) { return function(req, res) { var tmp_path = req.files.coverimage.path; // set where the file should actually exists – in this case it is in the "images" directory var target_path = './public/uploads/' + req.files.coverimage.name; // move the file from the temporary location to the intended […]

如何使用Express添加MIMEtypes

我试图让Firefox播放video标签。 通常情况下,我只是将它添加到Apache的.htaccess文件中: AddType video/ogg .ogv AddType video/mp4 .mp4 AddType video/webm .webm AddType audio/mpeg .mp3 AddType audio/ogg .ogg AddType audio/mp4 .m4a AddType audio/wav /wav 我如何使用Express / NodeJS来做到这一点?

错误:无法find模块的“实体/ lib / decode_codepoint.js”

我正在使用cheerio模块进行网页抓取。 它需要htmlparser2模块,安装htmlparser2后。 它给出了以下错误 – Error: Cannot find module 'entities/lib/decode_codepoint.js'

AngularJS – 处理手动input的URL的最佳方式

我目前有一个基于meanjs stack样板的设置,我可以让用户login处于“已login”状态,在我浏览网站的URL时停留。 这是因为将用户对象保存在全局可用的服务中。 然而,这只适用于如果我从我的根目录,即从'/'和只在我的应用程序内导航。 如果我手动input“/ page1”这样的URL,它会丢失全局用户对象,但是如果我进入我的根主页并通过站点导航到“/ page1”。 那很好,它看到Service对象中的全局用户对象。 所以我想这是由于整个页面刷新失去了全球价值,通过网站导航不刷新,所以你保留所有的variables。 有些事情要注意: 我启用了HTML5Mode,使用“!”的前缀。 我使用UI-Router 我使用“/”标签 我有一个重写规则,在加载所有路由之后,我有一条最后一条路线,它将所有的'/ *'发回并返回根index.html文件,因为这是angularjs的东西。 我只是想知道人们通常在这里做什么? 他们是否还原了标准Cookie和本地存储解决scheme? 我相当新的angular度,所以我猜测有这样的图书馆。 我只是想知道推荐的方式来处理这个问题,或者大多数人做什么,只是让我以正确的方式和angular度的方式alignment。 更新: 如果我通过地址栏手动导航到我的网站上的另一个URL,我失去了我的用户状态,但是如果我通过地址栏手动回到我的根,我的用户状态再次被看到,所以它不是简单地关于状态在窗口刷新。 所以它似乎与在根URL上运行的代码有关。 我有一个明确的重写,手动input的URL(由于HTML5的位置模式)应返回index.html,因为它包含AngularJs文件,然后UI路由接pipe并适当地路由它。 所以我会预料到根目录上的任何代码都会执行,所以它应该类似于通过网站导航或在地址栏中input。 我必须错过一些有关Angular的东西, 更新2 正确的调查导致我: <script type="text/javascript"> var user = {{ user | json | safe }}; </script> 哪个是index.html的服务器端代码,我猜这不是通过手动URL刷新页面到新页面时运行的。 使用散列爆炸模式,它的工作原理,这是因为使用散列爆炸模式,即使我在浏览器中键入一个URL,它不会导致刷新,在使用HTML5模式,它刷新。 所以现在我能想到的解决scheme是使用sessionStorage。 除非有更好的select? 更新3: 在使用HTML5Mode的时候,处理这个问题似乎是最好的方法,那就是你只需要在express服务器上重写一些东西。

xhr民意调查错误出来是使用socket.io时抛出

我写了一个关于socket.io的非常简单的演示,并使用phonegap将其打包。 我发现有问题。 打开我的应用程序约十秒后,连接将断开连接,因为xhr轮询error.if我刷新页面断开连接事件错误不会再来。 我使用1.2.0版本。这里是我的代码。 我已经简化了它。 服务器: var express = require('express'); var app = express(); var http = require('http').Server(app); var io = require('socket.io')(http); var path = require('path'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); io.sockets.on('connection', function (socket) { console.log("disconnect–"+socket.id+"–"+io.sockets.server.eio.clientsCount); socket.on('disconnect', function () { console.log("disconnect–"+io.sockets.server.eio.clientsCount); }); }); http.listen(80, function () { […]

获取504 GATEWAY_TIMEOUT NodeJs

在页面加载60s后,我得到了504 GATEWAY_TIMEOUT http响应。 这不是一个正在加载的实际页面,而是一个正在执行的进程。 我期待它花费超过60秒,我试图增加超时值,但它没有帮助。 我使用快速框架进行路由,并在EB(AWS Elastic Beanstalk)上托pipe作业。 由于我已经增加了在AWS控制台中的EB和负载平衡器上可能find的所有超时值,因此我认为它必须是超时设置为60秒的应用程序本身。 不过,我可能是错的。 我的代码: /* GET home page. */ router.get('/main',function(req, res, next) { req.connection.setTimeout(600000); mainProcess(res); //res.send("mainProcess() called"); }); 更新: 除此之外,我尝试了不同的方法。 我将这段代码添加到app.js : var connectTimeout = require('connect-timeout'); var longTimeout = connectTimeout({ time: 600000 }); app.use(longTimeout); 也没有帮助。 UPDATE2:我也尝试增加/bin/www的超时时间,如下所示: var server = http.createServer(app); server.timeout=600000; UPDATE3:我已经注意到超时与nginxconfiguration有关。 正如我的日志说: upstream timed out (110: Connection […]