Tag: express

nodejs一次渲染多个页面

我有一个contact页面,可以把他们的contact details和message 。 一旦他们把他们的信息,它被保存到mongodb collection 。 如果没有错误,我想清空联系表格,并显示一条popup消息,说谢谢。 现在,如果我使用 app.post("/contact", function(req, res){ var name = req.body.name; var email = req.body.email; var phone = req.body.phone; var message = req.body.mess; var contact_message = new Contact({name:name,email:email,phn_no:phone,message:message}); contact_message.save(function (err) { if (err) { return err; } else { console.log("Contact details saved"); res.render("contact"); } }); 上面的代码只是呈现相同的contact page ,没有谢谢你的消息。 如果我尝试创build一个新的ejs页面( 例如:thankyoupage ),并使用以下方式发送消息来呈现该页面: […]

mongoose不能保存embedded的文件

我正在尝试在Mongo DB中创build一个embedded文档的文档。 文档的模型/架构如下所示: var mongoose = require('mongoose'); var Schema = mongoose.Schema; // Cupboard Collection Schema var ShelfSchema = new Schema({ shelf_name: { type: String }, shelf_desc: { type: String } }); var CupboardSchema = new Schema({ cupboard_name: { type: String, required: true, unique: true }, cupboard_desc: { type: String, required: true }, shelf: [ShelfSchema] }, […]

如何在Mean Stack中运行subprocess

我有一个使用nodejs,angularjs和expressjs的Mean应用程序。 在这里,我已经从angular度控制器调用我的服务器如下 Angular Controller.js $http.post('/sample', $scope.sample).then(function (response) { — — } 并在Server.js如下 app.post('/sample', userController.postsample); 在这里,我正在做mongodb的操作,从上面的代码后的示例 。 在这里,我碰到了如何做我的计算部分,就像我有一个大的计算,需要一些时间(假设1小时)来完成。 所以从客户端我会触发angular度控制器的计算。 我的问题是计算应该单独运行,以便其他UI和其他页面的操作不应该被中断。 我已经看到了nodejs中的subprocess,但我不明白如何从控制器的subprocess触发或执行它,如果它在app.post中获取请求,那么是否有可能访问其他页面。 编辑: 我已经计划在孵化一个child_process,但我有另一个问题继续上述。 可以考虑应用程序包含3个用户和2个用户同时访问应用程序。 我的情况是,如果第一个人触发了child_process名称作为first operation ,并且正在处理中,那么此时第二个人需要触发该stream程名称作为2nd operation因为他还需要计算。 这里我的问题是 如果另一个人启动了spawn命令,会发生什么情况。 如果挂起或保持队列或两者并行执行。 如果第二个操作在队列中,那么什么时候开始操作。 如果第二个操作在队列中,那么我怎么知道有多less人在某个时间点排队呢? 任何人都可以帮助解决。

从Vue.JS发布到Express路由器

我试图从一个vue.js前端数据发布到我的express / node后端。 POST似乎通过,但在后端我只是得到一个未定义的空数组。 前端: main.js var app = new Vue({ el: '#app', data: { guests: [], code: '', showGuests: true }, methods: { saveGuests: function() { $.ajax({ type: "POST", url: '/api/rsvp/' + this.code, data: this.guests, success: function() { this.showGuests = false; // do more stuff to handle submission }, dataType: 'json' }); }, … […]

如何做优雅的停止koajs服务器?

expressjs有很多优雅的停止的例子,我怎样才能达到koajs? 我想断开数据库连接 我有一个mongoose数据库连接,和2 oracle数据库连接( https://github.com/oracle/node-oracledb )

用Nodejs检索存储在Mongodb中的图像

我有一个小的缩略图存储在一个MongoDB集合。 虽然我可以用.findOne()提取它们,但是我无法正确地将它们返回到ExpressJSpath。 我不会在磁盘上存储大拇指,因为heroku环境不能保证持久存储。 我没有使用GridFS,因为这些大拇指<16MB。 插入一个新的文档到集合中就像这样: MongoClient.connect(url, function(err, db){ var newImg = fs.readFileSync(req.file.path); var encImg = newImg.toString('base64'); var newItem = { description: req.body.description, date: Date(), contentType: req.file.mimetype, size: req.file.size, img: Buffer(encImg) }; db.collection('myimages') .insert(newItem, function(err, result){ if (err) { console.log(err); } }); }); 我可以像这样通过Expressjs路线服务img : router.get('/pictures/:picture', function(req, res){ /* my filename is actually a mdb oid […]

在aws elastic-beanstalk上configurationhttps进行快速configuration

我有一个在AWS EB上运行的Express应用程序,我想用SSL来保护它。 根据我的理解,我可以使用https模块在应用程序级别进行设置,也可以在EB环境级别将证书应用于负载平衡器。 我已经完成了这两个选项中的第二个,并使其工作,但我不确定最佳实践。 我应该在快速应用程序级别还是通过EB负载均衡器来做,还是应该同时做这两件事?

NodeJS / Express中的同步像编程一样

我很难与节点asynchronous操作(来自PHP背景)。 我知道你可以嵌套callback,但可以很快失控。 这是我想要同步解决的一个基本示例(我知道这个示例可能很简单,但是我需要知道如何同步执行更复杂的项目)。 这是一个快速的应用程序,我试图计算优惠券已被使用的次数: var express = require('express'); var wrap = require('co-express'); app.post('/grab-valid-coupons', wrap(function* (req, res) { var validCoupons = []; console.log('grabbing coupons'); var coupons = yield db.collection('Coupons').find({}).toArray(); coupons.forEach(wrap(function* (coupon, index) { console.log(coupon.code, 'CODE'); var couponUse = 0; couponUse += yield db.collection('Rentals').find({coupon: coupon.code}).count(); couponUse += yield db.collection('Orders').find({coupon: coupon.code}).count(); console.log(couponUse); if(couponUse < coupon.uses) { validCoupons.push(coupon); } […]

如何在数据库调用后明确数组?

我正在使用快速查询使用本机驱动程序(而不是Mongoose)我的mongodb数据库。 我正在尝试在MongoDB响应后进行一些数据清理。 我不介意这是否可以通过MongoDB的聚合查询或它的一些变化来实现,为了完整性,我使用的当前查询是: collection.find({'make.name': req.params.make}, {'model.name': 1, 'submodel.body': 1, '_id': 0}).toArray(); 我有一个来自mongodb的回应: [ { "model" : { "name" : "3 Series" }, "submodel" : { "body" : "Convertible" } }, { "model" : { "name" : "3 Series" }, "submodel" : { "body" : "Coupe" } }, { "model" : { "name" : "2 Series" […]

创build一个用户会话 – NODE js

一般来说,我是新的节点js和JavaScript。 我有下面的一段代码将处理login。 我有一个客户表的MYSQL数据库。 当客户input他们的用户名和密码时,会检查它是否存在于数据库中。 这部分工作。 我现在想要增强此function,以便它将采用用户名和创build某种会话variables,可以在整个应用程序中使用。 我对JS很陌生,所以我不确定哪些内置设施已经存在,或者最佳实践。 我希望能够在整个应用程序中使用这个会话variables,以及为了后续的注销function。 有人能就此提出build议吗,还是指向正确的方向? 谢谢。 情况下“/login”: var body = ''; console.log("user Login "); request.on('data', function (data) { body += data; }); request.on('end', function () { var obj = JSON.parse(body); console.log(JSON.stringify(obj, null, 2)); var query = "SELECT * FROM Customer where name='"+obj.name+"'"; response.writeHead(200, { 'Access-Control-Allow-Origin': '*' }); db.query( query, [], function(err, […]