Tag: 表示

Express.js在控制器中获取http方法

我正在build立一个registry(护照本地authentication,forms帮助)。 因为注册只知道GET和POST我想在一个函数中完成整个处理。 换句话说,我正在寻找类似的东西: exports.register = function(req, res){ if (req.isPost) { // do form handling } res.render('user/registration.html.swig', { form: form.toHTML() }); };

通过mongoose将物品推入蒙戈列

我已经search了很好的一点寻找答案,但我相信我迷失了正确的话来描述我后。 基本上我有一个名为“人”的mongodb集合该集合的架构如下: people: { name: String, friends: [{firstName: String, lastName: String}] } 现在,我有一个非常基本的快速应用程序连接到数据库,并成功地创build一个空的朋友数组的“人”。 在申请的次要位置,有一个表格可以添加朋友。 表单接受firstName和lastName,然后POST名称字段也用于引用正确的人员对象。 我很难做的是创build一个新的朋友对象,然后“推”到朋友arrays。 我知道,当我通过mongo控制台执行此操作时,我使用$ push的更新函数作为查找条件后的第二个参数,但似乎无法find合适的方法让mongoose执行此操作。 db.people.update({name: "John"}, {$push: {friends: {firstName: "Harry", lastName: "Potter"}}}); 更新:所以,阿德里安的答案是非常有帮助的。 以下是我为了实现我的目标所做的。 在我的app.js文件中,我使用了一个临时路由 app.get('/addfriend', users.addFriend); 在我的users.js文件中,我有 exports.addFriend = function (req, res, next) { var friend = {"firstName": req.body.fName, "lastName": req.body.lName}; Users.findOneAndUpdate({name: req.user.name}, {$push: {friends: friend}}); };

在express中使用URL中的多个参数

我正在使用Express与节点,我有一个要求,用户可以请求的URL为: http://myhost/fruit/apple/red 。 这样的请求将返回一个JSON响应。 上述调用之前的JSON数据如下所示: { "fruit": { "apple": "foo" } } 有了上面的请求,响应JSON数据应该是: { "apple": "foo", "color": "red" } 我configuration了快速路由如下: app.get('/fruit/:fruitName/:fruitColor', function(request, response) { /*return the response JSON data as above using request.params.fruitName and request.params.fruitColor to fetch the fruit apple and update its color to red*/ }); 但是这不起作用。 我不确定如何传递多个参数,也就是说,我不确定/fruit/:fruitName/:fruitColor是否是正确的方法。 是吗?

如何找出当前NODE_ENV的快递应用程序正在运行?

我只是想知道,如果我可以找出NODE_ENV (即开发或生产)在快速代码(所以我不能使用app.configure('production' function(){}) )目前的价值是什么。

SocketIO-GET http:// localhost:3000 / socket.io /?EIO = 3&transport = polling&t = 1418187395022-0 404(Not Found)

我使用express的socketIO。 在我的项目中,我有一个login页面和一个主页。 当我成功login我导航到本地主机:3000 /家,我得到这个错误: GET http://localhost:3000/socket.io/?EIO=3&transport=polling&t=1418187395022-0 404 (Not Found) 我没有做任何修改我的app.js(由快递创build的项目)。 Index.js: var express = require('express'); var router = express.Router(); var http = require('http'); var fs = require('fs'); var io = require('socket.io')(http); /* GET home page. */ router.get('/', function(req, res) { res.render('index', { title: 'Express' }); }); router.get('/home', function(req, res) { res.render('home', { title: 'Express' }); […]

在快速框架中的会话中得到奇怪的错误

我是新来expression框架,这是我在server.js文件中: // Module dependencies. var application_root = __dirname, express = require( 'express' ), //Web framework path = require( 'path' ), //Utilities for dealing with file paths mongoose = require( 'mongoose' ); //MongoDB integration //Create server var app = express(); // Configure server app.configure( function() { app.use( express.bodyParser() ); app.use( express.methodOverride() ); app.use( app.router ); app.use(express.session({secret:'thisismysupersecret'})); […]

如何使用NodeJS和Express从app.js中分离路线和模型

我正在使用Node和Express创build一个应用程序。 但是,我可以看到很快就会很难pipe理放在app.js所有路由。 我已将所有模型放置在子目录/models 。 这是我的应用程序目前的结构: app.js models — products — customers — … public views node_modules 在app.js : var express = require('express'), routes = require('./routes'), user = require('./routes/user'), http = require('http'), path = require('path'), EmployeeProvider = require('./models/employeeprovider').EmployeeProvider, Products = require('./models/products').Products, Orders = require('./models/orders').Orders, Customers = require('./models/customers').Customers, checkAuth = function(req, res, next) { if (!req.session.user_id) { […]

Node.js:socket.ioclosures客户端连接

如何closures客户端的套接字连接? 我在用: socket.io 0.9 node.js 0.10.15 expression3.3.4 即:调用localhost/test – 服务器端 var test = io .of('/test') .on('connection', function (socket) { console.log('open socket: ' + socket); socket.on('disconnect', function () { console.log('disconnected event'); //socket.manager.onClientDisconnect(socket.id); –> endless loop with this disconnect event on server side //socket.disconnect(); –> same here }); }); – 客户端 var socket = io.connect('http://localhost:3000/test'); socket.on('disconnect', function […]

Express.js – 以任何方式显示文件/目录列表?

使用Express.js有没有办法显示一个文件/目录列表像apache当你访问一个没有索引文件的目录的URL – 所以它显示所有目录内容的列表? 有没有扩展或包,这是我不知道的? 还是我必须自己编码? 干杯,你摇滚! 🙂

Node.js和Mongoose正则expression式查询多个字段

我想用两个相同的正则expression式来查询多个字段。 在这个查询中,我想接受单个文本input,并检查firstName和lastName字段的结果。 我可以使用mongoose文档中的正则expression式来查询单个字段,但“或”子句的语法给我带来麻烦。 var re = new RegExp(req.params.search, 'i'); app.User.find().or([{ 'firstName': { $regex: re }}, { 'lastName': { $regex: re }}]).sort('title', 1).exec(function(err, users) { res.json(JSON.stringify(users)); }); (我在node.js 0.6.12上运行mongoose 2.7.1)